Я програміст на рівні початківців C ++, але поняття мови я досить добре розумію. Коли я почав вивчати зовнішні бібліотеки C ++, як-от SDL, OpenGL (можливо, ще щось), на моє велике здивування я виявив, що вони взагалі не використовують поняття C ++.
Наприклад, ні SDL, ні OpenGL не використовують класи або винятки, віддаючи перевагу функціям та кодам помилок. У OpenGL я бачив такі функції, як glVertex2f, який приймає 2 вхідних змінних у якості вхідних даних і, ймовірно, буде кращим як шаблон. Більше того, ці бібліотеки іноді використовують marcos, хоча, мабуть, є загальною згодою, що використання макрозів погано.
Загалом вони, здається, написані більше у стилі C, ніж у стилі C ++. Але вони абсолютно різні незрівнянні мови, чи не так?
Питання: чому сучасні бібліотеки не використовують переваг мови, на якій вони написані?