C++: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullata la modifica 96867242 di 146.241.52.3 (discussione)
Etichetta: Annulla
→‎Storia: link a pagina errata
Riga 25:
[[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 [[Portabilità|portabile]] e veloce. Oltre al C ed al Simula, si ispirò a linguaggi come l'[[ALGOL 68]], [[linguaggio Ada|Ada]], il [[linguaggio CLU|CLU]] ed il [[ML programming language|linguaggio ML]]. Inizialmente, le funzionalità di [[classe (informatica)|classe]], [[ereditarietà (informatica)|classe derivata]], [[strong typing|controllo rigoroso dei tipi]] e argomento di default furono aggiunte al C con [[Cfront]]. La prima versione commerciale fu distribuita nell'ottobre del [[1985]].<ref>{{Cita web |url=http://public.research.att.com/~bs/bs_faq.html#invention|titolo=Stroustrup: FAQ}}</ref>
 
Nel 1983 il nome del linguaggio fu cambiato da "C con classi" a C++. Furono aggiunte nuove funzionalità, tra cui ''[[funzione virtuale|funzioni virtuali]]'', ''[[overloading]]'' di funzioni ed 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<nowiki>'</nowiki>''[[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 ''[[conversione di tipo|cast]]'' ed il [[booleano (informatica)|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 (informatica)|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]]''.