Sou um programador de C ++ para iniciantes, mas entendo bastante bem os conceitos da linguagem. Quando comecei a aprender bibliotecas externas de C ++, como SDL, OpenGL (talvez também outra coisa), para minha grande surpresa, descobri que elas não usam conceitos de C ++.
Por exemplo, nem o SDL nem o OpenGL usam classes ou exceções, preferindo funções e códigos de erro. No OpenGL, vi funções como glVertex2f, que usa 2 variáveis flutuantes como entrada e provavelmente seria melhor como modelo. Além disso, essas bibliotecas às vezes usam marcos, embora pareça ser um acordo comum que o uso de macroses é ruim.
Em suma, eles parecem ser escritos mais no estilo C, do que no estilo C ++. Mas eles são idiomas incomparáveis completamente diferentes, não são?
A questão é: por que as bibliotecas modernas não usam as vantagens da linguagem em que estão escritas?