Sono un programmatore C ++ di livello principiante, ma capisco abbastanza bene i concetti del linguaggio. Quando ho iniziato a imparare le librerie C ++ esterne, come SDL, OpenGL (forse anche qualcos'altro), con mia grande sorpresa ho scoperto che non usano affatto concetti C ++.
Ad esempio, né SDL, né OpenGL utilizzano classi o eccezioni, preferendo funzioni e codici di errore. In OpenGL ho visto funzioni come glVertex2f, che prende 2 variabili mobili come input e probabilmente sarebbe meglio come modello. Inoltre, queste librerie usano talvolta marcos, mentre sembra essere un accordo comune che l'uso di macrose sia sbagliato.
Tutto sommato, sembrano essere scritti più in stile C, che in stile C ++. Ma sono lingue completamente diverse e incomparabili, vero?
La domanda è: perché le biblioteche moderne non usano i vantaggi della lingua in cui sono scritte?