Sono un programmatore C ++ di livello principiante, ma capisco abbastanza bene i concetti del linguaggio. Quando ho iniziato a studiare 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 accetta 2 variabili float come input e probabilmente sarebbe meglio come modello. Inoltre, queste librerie a volte usano marcos, mentre sembra essere un accordo comune sul fatto che usare le macro sia male.
Tutto sommato, sembrano essere scritti più in stile C che in stile C ++. Ma sono lingue incomprensibili completamente diverse, no?
La domanda è: perché le biblioteche moderne non usano i vantaggi della lingua in cui sono scritte?