Utente:Arbenganese/Sandbox/C++
U C++ (prunonçióu in ingleize [ˈsiː plʌs plʌs]) u l'è in lenguaggiu de prugramaçiùn ch'u se pö döviä in generäle, creóu d'a l'infurmaticu daneize Bjarne Stroustrup. Pübricóu p'ä primma vótta d'u 1985 cumme estensciün do lenguaggiu C, u l'è stêtu esteizu maniman in t'u tenpu. Da-u 1997, C++ u l'ha de funçiunalitê p'ä prugramaçiùn funçiunäle, a üzu generäle e urientä a-i ugetti, cuscì cumme de strutüe p'ä gestiùn d'a memoja de bassu livellu. Squêxi de lungu inplementóu cumme lenguaggiu cunpilóu, u gh'è tanti cunpilatuì C++ creê d'a ün müggiu de urganizaçiuìn, cumme a Fundaçiùn p'i software liberi, a LLVM, a Microsoft, l'Intel, l'Embarcadero, l'Oracle e l'IBM.[1]
C++ u l'è stêtu prugetóu tegnindu prezente a prugramaçiùn d'i scistemi e de software incurpurê o a rezurse limitê, cu'a prestaçiùn, l'eficensa e a flescibilitê cumme punti ciü inpurtanti.[2] U C++ u l'è stêtu truvóu ütile ascì in te tanti cuntesti, cu'a sö forsa in te infrastrutüe e in te l'ottimizaçiùn de rezurse limitê,[2] cumme aplicaçiuìn, videuzöghi, server (cumme u cumerciu eletronicu, u çercä insc'ä réi o e banche de dêti), cuscì cumme in te applicaçiuìn dunde a prestaçiùn a l'è fundamentäle, cumme çentralinn-e telefoniche o e sunde in t'u spaçiu.[3]
Bjarne Stroustrup u l'ha cumensóu a travagiä insc'ou C++ a-a Bell Labs d'u 1979 pe estende u lenguaggiu C, cu'u prupoxitu d'otegnì 'n lenguaggiu flescibile e eficente cumme st'ürtimu, ma bun a fä de uperaçiuìn de livellu ciü èrtu pe urganizä di grendi prugetti.[4] Da-u 1998, C++ u l'è regulóu d'a l'Urganizaçiùn Internaçiunäle p'ä Standardizaçiùn (ISO), che doppu a versciùn ISO/IEC 14882:1998, cunusciüa cumme C++98, a l'ha pübricóu e versciuìn C++03, C++11, C++14 e C++17. A versciùn ciü növa d'ancö, pübricä in t'u dixenbre 2020 cu'u numme ISO/IEC 14882:2020, ciamä pe cumün C++20,[4] a cunprende quelle de primma e a l'azunze de növe carateristiche cuscì cumme 'na bibliuteca standard inlarghìa. Da-u 2012, u desviluppu de növe versciuìn u l'è aprövu a ün prugettu d'in trei anni in trei anni,[5] cu'u C++23 cumme proscimu release previstu.[6]
Stoja
[modìfica | modìfica wikitèsto]U Bjarne Stroustrup u l'ha cumensóu a travagiä insc'ä lengua d'u 1979. L'idea de creä in növu lenguaggiu a l'è nasciüa in te sö esperiense de prugramaçiùn dürante a creaçiùn d'a sö texi de diploma. Stroustrup u l'ha nutóu che Simula u l'aiva de carateristiche ütile pe svilüppä di gren prugetti de suftware, ma u lenguaggiu u l'ea troppu lentu pe ëse dövióu in t'a pratica, mentre che BCPL u l'ea spediu ma de livellu troppu bassu pe svilüppä de gren aplicaçiuìn. Quande u Stroustrup u l'ha cumensóu a travagiä a-i Bell Labs, u l'ha avüu u cunpitu d'analizä u kernel de Unix p'ou computing distribuiu. Aregurdanduse d'u sö travaggiu de texi, u l'ha deçizu d'azunze quarchedünn-a de carateristiche de Simula a-u lenguaggiu C. C u l'è stêtu çernüu perché u l'ea in lenguaggiu purtatile e spediu pe üzu generäle. In azunta a C e Simula, u l'è stêtu ispiróu d'a de lengue cumme ALGuL 68, Ada, CLU e a lengua ML. A-u cumensu, a classe, a classe derivä, u cuntróllu streitu d'i tipi e e carateristiche d'argumentu predefiniu e sun stête azunte a C cun Cfront. A primma versciùn cumerciäle a l'è stêta pübricä in te l'otubre d'u 1985.[7]
Du 1983 u numme d'u lenguaggiu u l'è stêtu cangióu d'a «C with classes» a C++. L'é stêtu azuntu de növe funçiùnalitê, cunpreizu e funçiuìn virtuäle, u survecaregu de funçiuìn e uperatuì, e referense, e custante, u cuntróllu de l'ütente d'a gestiùn d'a memoja, u cuntróllu d'i tipi megiuóu e i növi cummenti de stile ("//"). Du 1985 l'è stêtu pübricóu a primma ediçiùn d'u lenguaggiu de prugramaçiùn C++, ch'a furniva in'inpurtante guidda de referensa p'ou lenguaggiu, ch'u nu l'ea ancun stêtu ufiçialmente standardizóu. Du 1989 l'è stêtu pübricóu a versciùn 2.0 de C++, ch'a cunprendeiva l'ereditê mültipla, de classe astrête, de funçiuìn de menbri statiche, de funçiuìn de menbri const e d'i menbri prutetti. Du 1990 l'è stêtu pübricóu u manüäle de referensa C++ anutóu, ch'u l'ha furniu a baze p'ou standard de l'avegnì. Tra e ürtime azunte de funçiùnalitê u gh'è mudelli, eceçiuìn, spaçi pe-i nummi, növi tipi de cast e u tipu de dêti boolean.
Proppiu cumme a lengua, a bibliuteca standard a s'è ascì evulüa. A primma azunta a-a bibliuteca standard C++ a l'è stêta a bibliuteca de flüssu I/O, ch'a furniva di serviçi de sustituçiùn p'ä bibliuteca C tradiçiunäle (cumme printf e scanf). Dapö, tra e azunte ciü scignificative gh'è stêtu a Bibliuteca d'i mudelli standard.
Doppu d'i anni de travaggiu, in cumitätu cunpreizu di menbri de l'ANSI e de l'ISO u l'ha standardizóu u C++ d'u 1998 (ISO/IEC 14882). Pe pöchi anni aprövu a-a pübricaçiùn ufiçiäle d'i standard, u committee u l'ha anêtu aprövu a-u svilüppu d'a lengua e u l'ha pübricóu inn-a versciùn curetta d'u standard d'u 2003.
In raportu tecnicu u remunta a-u 2005, ciamóu «Raportu tecnicu 1» (scürçìucumme TR1) che, sciben ch'u nu fa ufiçialmente parte d'u standard, u cuntegne inn-a çerta quantitê d'estensciuin a-a bibliuteca standard C++11.
Nu gh'è in prupietäiu d'u lenguaggiu C++, ch'u se pö inplementä sensa havéi d'a pagä de royalties. U mêximu ducümentu de standardizzaçiùn, pero, u l'è dispunibile sulu che pe inn-a cumisciùn.
Urigine du numme
[modìfica | modìfica wikitèsto]A prununçia de C++ a l'é [ˌsiː plʌs ˈplʌs] (in ingreise). U numme u l'é stêtu prupostu da-u Rick Mascitti a-a meitê du 1983, quande a lengua a l'é stêta döviä pe-a primma votta föa da-i çentri de reçerca. In passóu a lengua a se ciammava "C cu'e classe". U numme u l'é ün zögu de parolle cun ün cunstrütu C (dunde u duggiu segnu ciù u l'é l'uperatù d'autuincrementu, ch'u l'incrementa u valù de ünna variabile de ün) insemme a-a cunvençiùn cummün d'azzunze ün segnu ciù pe indicä ünna versciun megiuä. Segundu u fundatù: «++ u l'é l'uperatù d'incrementu de C [...] u numme u l'esprimme a natüa evulütiva di cangi da C». U döviä u zögu de parolle u l'evita ascì u prublema che «C+» u segge za stêtu dövióu pe ünna lengua sensa cunnesciun cu-u C++ (pe nu parlä du fêtu ch'a l'é pe cummün assuciä a ünn-a vutaçiùn 'n pitin de ciù erta inta prestaçiùn academica).
Quande u l'é stêtu dumandóu infurmalmente in sciù numme du 1992, u Ricu Mascitti u l'ha ditu ch'u l'aiva fêtu u prupoxitu cun ün spiritu de schersu e ch'u nu pensava ch'u saieiva vegnüu u numme furmä da lengua. U Stroustrup u l'ha prupostu ascì a pusteriuri 'n'interpretaçiùn urwelliann-a du numme, in referimentu a-u «Diçiùnäiu C» du Newspeau (intu rumansu u diçiunäiu de termini tecnichi, l'ünicu restu de 'na lengua scientifica) descritu in-te l'apendice du 1984 e a-u prefissu duggiuplus (arcipiù in-te l'ediçiùn italiann-a), dövióu intu lenguaggiu növu p'ou süperlativu. Sciben che nu l'é assê fedele a-a sintasci fitiçia definia intu rumansu cun ünn'estrema preçixun, u numme u sunieiva cumme «C-iscimu» e u caraterizeiva ancun C++ cumme 'n megiuamentu intensu de C.
Descriçiùn
[modìfica | modìfica wikitèsto]Bibliuteca standard
[modìfica | modìfica wikitèsto]U standard C++ du 1998 u cunsciste in te due parte: u nücleu du lenguaggiu e a bibliuteca standard; quest'ürtimu u cumprende a ciù parte da Bibliuteca de mudelli standard (STL). Gh'é tante bibliuteche pe C++ che nu fan parte du standard e l'é puscibile, pe mezu di linuing esterni, döviä ascì de bibliuteche scrite pe-u lenguaggiu C u STL u l'ea a-u cumensu 'na bibliuteca de terse parte, svilüpä da HP e dapö da Silicon Graphics, primma ch'u fise incurpuróu intu C++ standard. U standard u nu fa referensa cumme "STL", dêtu ch'u fa sulu che parte da bibliuteca cumpleta, ma tanti van avanti à döviä u termine pe distinguelu da-u restu da bibliuteca (cumme i flüssi I/u, l'internaçiunalizaçiùn, a diagnostica funçiuin, etc.).
A ciü parte di cumpilatuî a furnisce ascì 'n'implementaçiun da bibliuteca standard, cunpreizu a STL. Gh'é ascì de versciuìn independente da-u cunpilatù du STL, cumme STLPurt.
Cumpilatuì
[modìfica | modìfica wikitèsto]Çerti cumpilatuî pe u C++ sun: GCC (incruxu de ciattafurme), Clang (dispunibile pe tante ciattafurme despêge), MinGW (pòrtu de GCC pe Windows), DJGPP e TerzC++cumpilatù. In azunta a sti chi u gh'é di cumpilatuî cummerciali cumme VisualC++ e C++ Builder (creê a-u cumensu da Borland). In sciù scistema uperativu macOS, se pö döviä u prugramma Xcode.
O standard C++ o no speçifica l'implementaçion da decoraçion di nommi, a gestion d'ecceçioin e de atre caratteristiche speçifiche pe l'implementaçion, cösa ch'a rende incompatibile o còdiçe d'oggetti produto da diversci compilatoî. À tutti i mòddi, gh'é di standard de terse parte pe çerte machine ò scistemi operativi che çercan de standardizzâ i compilatoî pe quelle piattaforme, comme l'ABI pe C++[8], e dapeu tanti compilatoî an standardizzou sti elementi.
Pe tanti anni diversci compilatoî an implementou o standard C++ con diversci livelli de correttessa, mascime a speçializzaçion parçiale di modelli. E verscioin ciù reçente di compilatoî ciù deuviæ sostëgnan squæxi tutto o standard C++ do 1998.
Operatoî
[modìfica | modìfica wikitèsto]Into C++ i operatoî en de pontuaçioin particolæ ch’i conpiscian de operaçioin in sce un ò ciù operandi; questi peuan vegnî clascificæ inte de categorie despæge, comme lògica, assegnaçion, booleana, ... , e o permette de scrive de esprescioin e de manipolâ i dæti inte 'n mòddo ch'o serve drento do còdiçe C++. [[Categorîa:P856 lètta d'a Wikidata]]
- ↑ The C++ Programming Language, Addison-Wesley, 1997, ISBN 0-201-88954-4.
- 1 2 Lecture:The essence of C++. University of Edinburgh., in sce youtube.com. URL consultòu o 12 giugno 2015.
- ↑ C++ Applications, in sce stroustrup.com. URL consultòu o 5 maggio 2014.
- 1 2 Bjarne Stroustrup's Homepage, in sce stroustrup.com. URL consultòu o 15 maggio 2013.
- ↑ C++ IS schedule (PDF), in sce open-std.org. URL consultòu o 9 agosto 2020.
- ↑ C++; Where it's heading, in sce dzone.com. URL consultòu o 3 dicembre 2018.
- ↑ Stroustrup: FAQ, in sce public.research.att.com. URL consultòu o 22 aprile 2006.
- ↑ C++ ABI, in sce mentorembedded.github.io. URL consultòu o 7 maggio 2018.