IlLinguaggioCNel1972DennisRitchieprogettavaerealizzavalaprimaversionedellinguaggioCpressoiBellLaboratories.RitchieavevaripresoesviluppatomoltideicostruttisintatticidellinguaggioBCPL,diMartinRichards,edellinguaggioB,diKenThompson,l'autoredelsistemaoperativoUNIX.SuccessivamenteglistessiRitchieeThompsonriscrisseroinCilcodicediUNIX.IlCsidistinguevadaisuoipredecessoriperilfattodiimplementareunavastagammaditipididati-carattere,interi,numeriinvirgolamobile,strutture-nonoriginariamenteprevistidaglialtriduelinguaggi.Daalloraadogginonhasubitoprofondetrasformazioni:lasuasintassièstataestesa,soprattuttoinconseguenzadellaprogrammazioneorientataaglioggetti(C++),manellasostanzaenellospiritoillinguaggioèrimastoquellodelleorigini.IlCèunlinguaggiodialtolivellochepossiedeuninsiemeristrettodicostruttidicontrolloediparolechiave,edunriccoinsiemedioperatori.Consentediprogrammareinmodomodulare,permezzodellefunzioniedellemacro,anchesenonesisteunagerarchiadifunzionicome,adesempio,inPascal.Puressendounlinguaggioadaltolivellopermetteoperazionidibassolivellotipichedellinguaggiomacchina:sipuò,adesempio,indirizzarelamemoriainmodoassoluto,funzionalitàfondamentaleperlosviluppodiapplicazionidibassolivello.E'unlinguaggioapparentementepovero:nonpossiedeistruzionidientrata/uscita,neistruzioniperoperazionimatematiche.Ognifunzionediversadaicostruttidicontrolloodalleoperazionielementarisuitipidatièaffidataaduninsiemedilibrerieesterne.Inquestomodo,Ritchieriuscìaraggiungeredueobiettivi:daunaparte,mantenerecompattoillinguaggio,dall'altra,poterestendernelefunzionalitàsemplicementeaggiungendonuovelibrerieoampliandoquelleesistenti.E'statotalvoltadefinitocome"illinguaggiodipiùbassolivellotrailinguaggidialtolivello".Infatti,comeabbiamodetto,nasceperlosviluppodisistemioperativi,quindipersoftwaredibassolivello,mapreservandolasemplicitàd'usodeilinguaggidellaterzagenerazione.Sonomoltiifattorichehannodeterminatolasuacapillarediffusione.IltrampolinodilancioèstatoilsistemaoperativoUnix.IlCnehaseguitolesortifindall'iniziodivenendobenprestoillinguaggiodiprogrammazionepreferitodalleuniversitàedagliistitutidiricerca.UnixèstataladimostrazionepraticadellabontàeforzadellinguaggioC.Ilmondodell'industriainformaticalohanotatoedoggipraticamentenonesisteprodottocommercialedilargadiffusione-database,wordprocessor,foglioelettronico,browseretc.-chenonsiascrittoinC.Un'altrofattorechehacontribuitoalsuccessodelCèstatoilpersonalcomputer.Quellecheeranofunzionidiprogrammazionedisistemafinoaqualcheannofariservateapochispecialistioggisonoaccessibiliatutti.Adesempio,oggièmoltofacile,ancheperunprogrammatoreCdilettante,pilotaredirettamentel'hardware.InpraticailCstasostituendol'assembler.Esistono,infatti,deicompilatoritalmenteevoluti,cheilcodiceassemblerequivalentealCprodottodalcompilatoreètalmenteefficienteecompattodarisultaremigliorediquelloscrittoanchedaunbuonprogrammatoreassembler.Inuovilinguaggichesisonopresentatisullascenadell'informatica,qualiJavaePerl,devonomoltoalC,lacuiconoscenzacostituisceunottimopuntodipartenzaperilloroapprendimento.L'enormediffusioneraggiuntaelasuaefficienza,anchenelpilotaredirettamentel'hardware,continuanoafaredelCunasceltalargamentecondivisaancheperrealizzareapplicazioniInternetopartidiesse.Infineesistonoanchemotiviestetici.Perl'eleganzadellasintassielacompattezzadeicostrutti,ilCèunasfidapermanenteallecapacitàintellettualidelprogettistasoftware,èancheunautilissimapalestraperilgiovaneprogrammatorecheconessoimparaarisolvereunavastaclassediproblemi,lospingeamigliorareleproprietecniche,eloabituaacontrollareleidiosincrasiedellamacchinasenzadoverricorrereall'assembler.