C++: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullata la modifica di 46.228.243.58 (discussione), riportata alla versione precedente di 37.156.169.178 Etichetta: Rollback |
amplio incipit |
||
Riga 16:
}}
'''C++''' è un [[linguaggio di programmazione]] ad uso generale creato dall'informatico danese [[Bjarne Stroustrup]]. Pubblicato per la prima volta nel 1985 come estensione del [[C (linguaggio di programmazione)|linguaggio C]], è stato nel tempo esteso notevolmente. Dal 1997 C++ ha caratteristiche per la [[programmazione funzionale]], [[Programmazione generica|generica]] e [[Programmazione orientata agli oggetti|orientata agli oggetti]], oltre a strutture per la gestione a [[Linguaggio di programmazione a basso livello|basso livello]] della [[Memoria (informatica)|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_Technologies|Embarcadero]], [[Oracle Corporation|Oracle]] e [[IBM]].<ref name="stroustruptcpppl">{{Cita libro|autore=Bjarne Stroustrup|wkautore=Bjarne Stroustrup|titolo=The C++ Programming Language|url=https://archive.org/details/cprogramminglang00stro_0|edizione=3|anno=1997|editore=Addison-Wesley|capitolo=Notes to The Reader|isbn=0-201-88954-4|oclc=59193992}}</ref>
C++ fu progettato con in mente la programmazione di [[Sistema embedded|sistemi e software integrati]] o a risorse limitate, presentando come punti salienti prestazioni, efficienza e flessibilità.<ref name=Stroustrup1>{{cita web|url=https://www.youtube.com/watch?v=86xWVb4XIyE|autore=B. Stroustrup|titolo=Lecture:The essence of C++. University of Edinburgh.|data=6 maggio 2014|accesso=12 giugno 2015|urlarchivio=https://web.archive.org/web/20150428003608/https://www.youtube.com/watch?v=86xWVb4XIyE}}</ref> C++ è stato anche ritenuto utile in molti contesti, con i suoi punti di forza nell'infrastruttura e nell'ottimizzazione di risorse limitate,<ref name=Stroustrup1 /> come applicazioni, videogiochi, server (ad esempio [[commercio elettronico]], [[Motore di ricerca|ricerca in rete]] o [[Base di dati|basi dati]]), nonché in applicazioni dove le prestazioni sono critiche, come [[Centralino|centralini telefonici]] o [[Sonda spaziale|sonde spaziali]].<ref name="applications">{{cita web |url=http://www.stroustrup.com/applications.html|titolo=C++ Applications|data=17 febbraio 2014|accesso=5 maggio 2014|autore=Bjarne Stroustrup|urlarchivio=https://web.archive.org/web/20210404065717/https://www.stroustrup.com/applications.html}}</ref>
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.<ref name="homepage">{{cita web|titolo=Bjarne Stroustrup's Homepage|url=http://www.stroustrup.com|accesso=15 maggio 2013|urlarchivio=https://web.archive.org/web/20190514123147/http://www.stroustrup.com/}}</ref> 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]]. L'attuale versione più recente, pubblicata nel dicembre 2020 con il nome di ''ISO/IEC 14882:2020'', comunemente detto [[C++20]],<ref name="homepage"/> sussume le precedenti e aggiunge nuove funzionalità nonché una [[Libreria standard C++|libreria standard]] ampliata. Dal 2012, la distribuzione di nuove versioni segue un piano triennale,<ref>{{Cita web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1000r4.pdf|titolo=C++ IS schedule|accesso=9 agosto 2020|urlarchivio=https://web.archive.org/web/20200810105609/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1000r4.pdf}}</ref> con [[C++23]] come prossima versione pianificata.<ref>{{cita web|titolo=C++; Where it's heading|url=https://dzone.com/articles/c-where-is-it-heading-and-what-are-the-new-feature|accesso=3 dicembre 2018|urlarchivio=https://web.archive.org/web/20181203104022/https://dzone.com/articles/c-where-is-it-heading-and-what-are-the-new-feature}}</ref>
== Storia ==
[[File:BjarneStroustrup.jpg|miniatura|[[Bjarne Stroustrup]], autore del linguaggio.]]
[[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]], [[Ada (linguaggio
Nel 1983 il nome del linguaggio fu cambiato da "C con classi" a C++. Furono aggiunte nuove funzionalità, tra cui
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]]''.
Riga 32:
Dopo anni di lavoro, un comitato che presentava membri della [[American National Standards Institute|ANSI]] e della [[International Organization for Standardization|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
Non c'è un proprietario del linguaggio C++, che è implementabile senza dover pagare royalty. Il documento di standardizzazione stesso però è disponibile solo a pagamento.
Riga 39:
La [[Alfabeto fonetico internazionale|pronuncia]] di C++ è [ˌsiː plʌs ˈplʌs] (in inglese). Il nome fu suggerito da [[Rick Mascitti]] alla metà del [[1983]], quando il linguaggio veniva usato per la prima volta al di fuori dei centri di ricerca. Precedentemente il linguaggio si chiamava "C with classes" (C con classi). Il nome è un gioco di parole con un costrutto del C (dove il doppio segno più è l'operatore di autoincremento, che incrementa di una unità il valore di una variabile) insieme con la comune convenzione di aggiungere un segno più per indicare una versione potenziata. Secondo Stroustrup: ''«++ è l'operatore di incremento del C [...] il nome esprime la natura evoluzionaria dei cambiamenti dal C»''. Impiegando il [[gioco di parole]] si evita anche il problema che "C+" è già stato usato per un linguaggio senza alcun nesso col C++ (senza menzionare che è comunemente associato con una valutazione poco più che sufficiente in una performance accademica).
Quando, nel 1992, gli furono chieste informalmente spiegazioni sul nome, [[Rick Mascitti]] ha spiegato di aver dato il suggerimento con spirito [[goliardia|goliardico]], e che non pensava che quello sarebbe divenuto il nome formale del linguaggio. Stroustrup ha anche suggerito a posteriori un'interpretazione [[George Orwell|orwelliana]] del nome, in riferimento al "Dizionario C" della [[Neolingua]] - nel romanzo il dizionario dei termini tecnici, unico residuo di un linguaggio scientifico - descritto nell'appendice di ''[[1984 (romanzo)|1984]]'' e al prefisso ''doubleplus'' (''arcipiù'' nell'edizione italiana), utilizzato in Neolingua per il superlativo. Benché non fedelissimo alla sintassi fittizia definita nel romanzo con estrema precisione, il nome suonerebbe come "C-issimo" e connoterebbe comunque il C++ come intenso miglioramento del C.<ref>{{cita libro| Bjarne | Stroustrup | C++ - Linguaggio, libreria standard, principi di programmazione | 2000 | Addison-Wesley | | capitolo="Note al lettore"}}</ref>
== Descrizione ==
Riga 250:
=== Ciclo for ===
2005
Finché <code>numero</code> è minore di 10, il programma continua a ripetere la stringa <code>Numero: 1</code> incrementando il valore <code>numero</code> di uno.
|