C++

m
Electrònica i informàtica

Llenguatge informàtic imperatiu amb característiques d’orientació a objectes, però que manté la compatibilitat històrica amb el llenguatge C.

Bjarne Stroustrup desenvolupà aquest llenguatge als Laboratoris Bell, com una capa de programari sobre el C per dotar-lo de característiques d’orientació a objectes. El fet d’estar basat en el llenguatge C constitueix alhora el punt fort i el punt feble del C++: permet una migració suau dels programadors i reutilitzar tot el codi escrit amb C, però també usar el C++ en estil C, amb la qual cosa es perden els avantatges de l’orientació a objectes. De fet, la filosofia del C i la del C++ són del tot oposades: el C és un llenguatge que assumeix que el programador és un expert i, per tant, no li exigeix cap metodologia de programació; el C++ és un llenguatge basat en tipus, que exigeix molta meticulositat per part del programador, i que parteix de la idea que el compilador ha de fer totes les comprovacions possibles. La programació orientada als objectes exigeix l’ús d’una metodologia molt rígida en la programació, basada en l’encapsulació, l’ocultació i el fort tipatge (conceptes inexistents en C); i es caracteritza per ser un sistema de programació de molt alt nivell que no permet cap digressió de baix nivell. Així, tot i que es pot veure el C++, tal com el seu nom indica, com una millora o extensió del llenguatge C, el cert és que migrar del primer al segon no implica només un canvi de llenguatge, sinó també un canvi de mentalitat, d’estructuració de pensament i de metodologia de treball. Tot i així, molts dels programadors de C++ només el veuen com una variant del C amb una sintaxi lleugerament diferent, i gran part dels que asseguren que usen la programació orientada als objectes, com a màxim n'usen parcialment la sintaxi, però no pas la seva semàntica. Tant en un cas com en l’altre, els programes resultants continuen essent tan críptics i immantenibles com els escrits en C, si no més.