Je suis un programmeur C ++ de niveau débutant, mais je comprends assez bien les concepts du langage. Quand j'ai commencé à apprendre les bibliothèques C ++ externes, comme SDL, OpenGL (peut-être autre chose aussi), à ma grande surprise, j'ai découvert qu'elles n'utilisaient pas du tout les concepts C ++.
Par exemple, ni SDL, ni OpenGL n'utilisent de classes ou d'exceptions, préférant les fonctions et les codes d'erreur. Dans OpenGL, j'ai vu des fonctions comme glVertex2f, qui prend 2 variables flottantes en entrée et serait probablement mieux comme modèle. De plus, ces bibliothèques utilisent parfois marcos, alors qu'il semble être courant que l'utilisation de macroses est mauvaise.
Dans l'ensemble, ils semblent être écrits plus en style C qu'en style C ++. Mais ce sont des langues incompressibles complètement différentes, n'est-ce pas?
La question est: pourquoi les bibliothèques modernes n'utilisent pas les avantages de la langue dans laquelle elles sont écrites?