C++

C++(AFI: /t͡ʃi pju pju/) è un linguaggio di programmazione ad uso generale creato dall'informatico danese Bjarne Stroustrup. Pubblicato per la prima volta nel 1985 come estensione del linguaggio C, è stato nel tempo esteso notevolmente. Dal 1997 C++ ha caratteristiche per la programmazione…

C++(AFI: /t͡ʃi pju pju/) è un linguaggio di programmazione ad uso generale creato dall'informatico danese Bjarne Stroustrup. Pubblicato per la prima volta nel 1985 come estensione del linguaggio C, è stato nel tempo esteso notevolmente. Dal 1997 C++ ha caratteristiche per la programmazione funzionale, generica e orientata agli oggetti, oltre a strutture per la gestione a basso livello della memoria. Quasi sempre implementato come linguaggio compilato, esistono molti compilatori di C++ creati da varie organizzazioni, tra cui Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle e IBM.

C++ fu progettato con in mente la programmazione di sistemi e software integrati o a risorse limitate, presentando come punti salienti prestazioni, efficienza e flessibilità. C++ è stato anche ritenuto utile in molti contesti, con i suoi punti di forza nell'infrastruttura e nell'ottimizzazione di risorse limitate, come applicazioni, videogiochi, server (ad esempio commercio elettronico, ricerca in rete o basi dati), nonché in applicazioni dove le prestazioni sono critiche, come centralini telefonici o sonde spaziali.

Bjarne Stroustrup cominciò a lavorare su C++ presso i Bell Labs dal 1979 per estendere il linguaggio C, con lo scopo di ottenere un linguaggio flessibile ed efficiente come C ma capace di permettere operazioni ad alto livello per l'organizzazione di grandi progetti. A partire dal 1998, C++ è normato dall'International Organization for Standardization (ISO), che dopo la versione ISO/IEC 14882:1998, nota come C++98, ha pubblicato le versioni C++03, C++11, C++14, e C++17 e C++20 e C++23. Dal 2012, la distribuzione di nuove versioni segue un piano triennale, per cui la prossima versione pianificata è C++26.

Storia

Bjarne Stroustrup iniziò a lavorare al linguaggio nel 1979. L'idea di creare un nuovo linguaggio ebbe origine nelle sue esperienze di programmazione durante la realizzazione della tesi di laurea. Stroustrup trovò che il Simula avesse caratteristiche utili per lo sviluppo di grossi progetti software, ma il linguaggio era troppo lento per l'utilizzo pratico, mentre il BCPL risultava veloce ma troppo a basso livello per lo sviluppo di grosse applicazioni. Quando Stroustrup cominciò a lavorare ai laboratori Bell, gli fu affidato il compito di analizzare il kernel di Unix in ambito di elaborazione distribuita. Ricordandosi del lavoro della tesi, decise di aggiungere al linguaggio C alcune delle caratteristiche di Simula. Fu scelto il C perché era un linguaggio per uso generico portabile e veloce. Oltre al C ed al Simula, si ispirò a linguaggi come l'ALGOL 68, Ada, il CLU ed il linguaggio ML. Inizialmente, le funzionalità di classe, classe derivata, controllo rigoroso dei tipi e argomento di default furono aggiunte al C con Cfront. La prima versione commerciale fu distribuita nell'ottobre del 1985.

Nel 1983 il nome del linguaggio fu cambiato da "C con classi" a C++. Furono aggiunte nuove funzionalità, tra cui funzioni virtuali, overloading di funzioni e operatori, reference, costanti, controllo dell'utente della gestione della memoria, type checking migliorato e commenti nel nuovo stile ("//"). Nel 1985 fu pubblicata la prima edizione di The C++ programming Language, che fornì un'importante guida di riferimento del linguaggio, che non era ancora stato ufficialmente standardizzato. Nel 1989 fu distribuita la versione 2.0 del C++, le cui novità includono l'ereditarietà multipla, le classi astratte, le funzioni membro statiche, le funzioni membro const, e i membri protetti. Nel 1990 fu pubblicato The Annotated C++ Reference Manual, che fornì le basi del futuro standard. Le ultime aggiunte di funzionalità includono i template, le eccezioni, i namespace, i nuovi tipi di cast ed il tipo di dato booleano.

Così come il linguaggio, anche la libreria standard ha avuto un'evoluzione. La prima aggiunta alla libreria standard del C++ è stata la libreria degli stream di I/O che forniva servizi sostitutivi della libreria C tradizionale (come printf e scanf). In seguito, tra le aggiunte più significative c'è stata la Standard Template Library.

Dopo anni di lavoro, un comitato che presentava membri della ANSI e della ISO hanno standardizzato C++ nel 1998 (ISO/IEC 14882:1998). Per qualche anno seguente alla pubblicazione ufficiale degli standard, il comitato ha seguito lo sviluppo del linguaggio e ha pubblicato nel 2003 una versione corretta dello standard.

Risale al 2005 una relazione tecnica, chiamata "Technical Report 1" (in sigla TR1) che, pur non facendo ufficialmente parte dello standard, contiene un numero di estensioni alla libreria standard del C++11.

Non c'è un proprietario del linguaggio C++, che è implementabile senza dover pagare royalty. Il documento di standardizzazione stesso però è disponibile solo a pagamento.

Servizi correlati

Altre voci

W

Windows Mobile

Windows Mobile, e ancora prima Pocket PC, è stato un sistema operativo compatto basato sulle API (Windows API) di Microsoft. Era destinato ai dispositivi mobili come PDA, smartphone ed i Portable Media Center. Dal 2010 non è più supportato ed è stato poi sostituito da Windows Phone con il…

Leggi la voce →
G

Google Traduttore

Google Traduttore è un servizio di traduzione automatica multilingue sviluppato da Google LLC. Offre un'interfaccia web, app mobili per Android e iOS e un'API che aiuta gli sviluppatori a creare estensioni del browser e applicazioni software. Google Traduttore supporta oltre 100 lingue a vari…

Leggi la voce →
Jailbreak (iOS)J

Jailbreak (iOS)

Il jailbreak (letteralmente "evasione") è un termine che indica una procedura che rimuove le restrizioni software imposte da Apple nei dispositivi iOS (iPhone e iPod touch), iPadOS (iPad) e tvOS (Apple TV).

Leggi la voce →
IPhone DuoI

IPhone Duo

L'iPhone Duo è uno smartphone pieghevole progettato e prodotto da Apple. È stato presentato il 9 settembre 2026 presso l'Apple Park, insieme all'iPhone 18 Pro e 18 Pro Max.

Leggi la voce →
G

Google Play Giochi

Google Play Giochi è un servizio di giochi online e un kit sviluppo software gestito da Google Inc. per il sistema operativo Android. È dotato di funzionalità di gioco multiplayer in tempo reale, salvataggio nel cloud, classifiche sociali e risultati. Il servizio Google Play Giochi consente agli…

Leggi la voce →
I

IOS 26

iOS 26 è la diciannovesima versione del sistema operativo iOS, sviluppato da Apple. È stato annunciato alla Worldwide Developers Conference (WWDC) il 9 giugno 2025, lo stesso giorno è stata pubblicata la prima beta per gli sviluppatori.

Leggi la voce →