Soy un programador C ++ de nivel principiante, pero entiendo bastante bien los conceptos del lenguaje. Cuando comencé a aprender bibliotecas externas de C ++, como SDL, OpenGL (tal vez algo más también), para mi gran sorpresa, descubrí que no usan conceptos de C ++ en absoluto.
Por ejemplo, ni SDL ni OpenGL usan clases o excepciones, prefiriendo funciones y códigos de error. En OpenGL he visto funciones como glVertex2f, que toma 2 variables flotantes como entrada y probablemente sería mejor como plantilla. Además, estas bibliotecas a veces usan marcos, aunque parece ser un acuerdo común que el uso de macroses es malo.
En general, parecen estar escritos más en estilo C que en estilo C ++. Pero son idiomas incompatibles completamente diferentes, ¿no?
La pregunta es: ¿por qué las bibliotecas modernas no utilizan las ventajas del lenguaje en el que están escritas?