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