Jestem programistą C ++ na poziomie początkującym, ale rozumiem pojęcia języka dość dobrze. Kiedy zacząłem uczyć się zewnętrznych bibliotek C ++, takich jak SDL, OpenGL (może też coś innego), ku mojemu wielkiemu zaskoczeniu odkryłem, że w ogóle nie używają pojęć C ++.
Na przykład ani SDL, ani OpenGL nie używają klas ani wyjątków, preferując funkcje i kody błędów. W OpenGL widziałem takie funkcje jak glVertex2f, który przyjmuje 2 zmienne zmiennoprzecinkowe jako dane wejściowe i prawdopodobnie byłby lepszy jako szablon. Co więcej, biblioteki te czasami używają marcos, podczas gdy wydaje się, że powszechna zgoda, że używanie makr jest złe.
Podsumowując, wydają się być napisane bardziej w stylu C niż w stylu C ++. Ale to zupełnie inne nieporównywalne języki, prawda?
Pytanie brzmi: dlaczego współczesne biblioteki nie korzystają z zalet języka, w którym są napisane?