Forse non vedi il linguaggio di programmazione C ovunque, ma è sottilmente presente ovunque. Quando accendi l'auto, la scheda madre probabilmente usa il C per comunicare con i suoi vari componenti. Quando usi il tuo telefono, che sia iOS o Android, il core del sistema operativo è scritto in C. Non puoi ignorare il linguaggio C.

Okay. Brutto gioco di parole. Ma qual è la storia dietro la lettera C? Quando è apparso il linguaggio di programmazione C, ha rivoluzionato il mondo. Ma perché si chiamava C?
Link veloci
C'era una volta, nei Bell Laboratories...
Menti brillanti e budget enormi

Per rispondere a questa domanda, dobbiamo tornare indietro nel tempo e osservare un edificio modesto ma di grandi dimensioni situato nel New Jersey. Quell'edificio sono i Bell Laboratories. Fondati da Alexander Graham Bell (il nome vi suona familiare?) e all'epoca di proprietà di AT&T – che era, di fatto, un monopolio governativo – i Bell Laboratories godevano di un budget elevato e della libertà di sperimentare e giocare con le idee.
Questo approccio non invasivo ha portato all'invenzione del transistor (motivo per cui i computer non hanno più le dimensioni di un isolato), dei laser e delle celle solari, solo per citarne alcuni. Anche il linguaggio di programmazione C è un prodotto dei leggendari Bell Labs. Ma prima del C, c'era il B.
C'era una lingua B
B per BCPL migliore

Nel 1969, Ken Thompson, un brillante e straordinariamente indipendente ricercatore dei Bell Labs, stava lavorando a un enorme e ambizioso progetto di sistema operativo chiamato Multics. Quando i Bell Labs interruppero il progetto Multics, Thompson si ritrovò con un po' di tempo libero e un problema molto specifico: voleva giocare a un gioco che lei aveva scritto, chiamato Viaggio spaziale Su un vecchio e polveroso computer DEC PDP-7 che si trovava nel corridoio.

PDP-7 eraL'immagine è sulla destra.Era obsoleto anche per gli standard degli anni '60. Aveva pochissima memoria (circa 8 kilobyte). Per far girare il suo gioco sul PDP-7, Thompson creò un nuovo sistema operativo da zero. Fu la nascita di Unix. Tuttavia, scrivere Unix nel linguaggio... codice di assemblaggio (Il linguaggio grezzo e primitivo che comunica con le macchine usando 1 e 0) era un incubo. Thompson aveva bisogno di un linguaggio di alto livello, qualcosa di più vicino alla logica umana.
All'epoca, il linguaggio di programmazione di alto livello più diffuso era il BCPL (Basic Combined Programming Language). Il BCPL era troppo complesso per l'hardware ristretto del PDP-7, così Thompson prese la parola "Basic" da BCPL, la spogliò dei suoi elementi essenziali e creò un nuovo linguaggio. Chiamò questo nuovo linguaggio B. Era veloce, semplice e rappresentò il primo passo verso la programmazione moderna.

Tuttavia, il B era destinato a fallire. Funzionava bene con il PDP-7, ma quando i Bell Labs passarono al più avanzato PDP-11, un linguaggio di tipo non specificato come il B non fu più sufficiente. Era inefficiente e rendeva il nuovo e costoso PDP-11 molto più lento di quanto fosse in grado di fare.
C è diventata la nuova B
B ha ottenuto una promozione

Questo ci porta a Dennis Ritchie, caro amico e collaboratore di Thompson. Ritchie si rese conto che, se Unix voleva sopravvivere sulle macchine più recenti, il linguaggio in cui era scritto doveva evolversi, così trascorse due anni lavorando su B per migliorarlo.
La sua innovazione fu l'introduzione del Type System. Creò il tipo char per i caratteri e il tipo int per gli interi. Ora il programmatore poteva indicare al computer che un riquadro era per un singolo carattere, evitando così lo spreco di spazio aggiuntivo. Ciò rese il programma più intuitivo per le macchine.

Per un certo periodo, Ritchie e Thompson si riferirono semplicemente a questo progetto come "New B". Ma con l'aumentare dell'importanza e della forza della lingua, si resero conto che meritava una propria identità. Poiché era il successore della lingua B, guardarono alla lettera successiva dell'alfabeto e la chiamarono C.
Poi, nel 1973, Ritchie e Thompson riscrissero il nucleo del sistema operativo Unix in C. Prima di allora, i sistemi operativi erano sempre stati scritti in linguaggio assembly perché tutti sapevano che i linguaggi di alto livello erano troppo lenti. Il C dimostrò a tutti che si sbagliavano. Era veloce, elegante e, soprattutto, portabile.
…poi è arrivato D
O cosa?

Verso la fine degli anni '70, il C era il re indiscusso. Ma col tempo, con l'aumentare della complessità del software, iniziò a mostrare segni di invecchiamento. Bjarne Stroustrup, un altro ricercatore dei Bell Labs, ammirava la velocità del C, ma voleva aggiungere un concetto chiamato "programmazione orientata agli oggetti". In parole povere, voleva consentire ai programmatori di raccogliere dati e accedere a "oggetti", come un oggetto "utente" con un nome e una password noti.

Quando arrivò il momento per Stroustrup (Lo vedi nel suo ufficio sulla sinistraAvendo dato un nome alla sua invenzione, il passo logico successivo sarebbe stato D. Ma ai Bell Labs piacevano i giochi di parole. Così, Maschetti, un collega di Stroustrop, suggerì il C++. Per loro, almeno, fu un colpo di genio. Suggeriva che il linguaggio fosse il C, ma con un'aggiunta di uno. Il C era Ma meglio.
La scelta del nome era così accattivante che la posizione D nella sequenza alfabetica rimase vuota per quasi vent'anni. Il C++ divenne lo standard per tutto, dai videogiochi ai browser web, e il mondo andò avanti. Se non si sa come incrementare un numero di uno in C, si usa un comando speciale: ++Se hai una variabile x E lei scrisse x++Diventerà x + 1.
Il linguaggio D esiste già.
Ma è apparso decenni dopo

Solo nel 2001, il veterano ingegnere di switcher Walter Bright decise finalmente di rivendicare il titolo. Bright aveva trascorso anni a sviluppare strumenti C++ ed era frustrato da quanto fosse "vasto" e "insicuro" il linguaggio, che doveva rimanere compatibile con il codice legacy degli anni '70.
Voleva la potenza pura del C e le funzionalità organizzative del C++, ma con un design moderno, pulito e indistruttibile. Così, creò il linguaggio di programmazione D. D offriva una migliore gestione della memoria e funzionalità di sicurezza che prevenivano i tipi di errori che causavano la schermata blu di errore sul computer.
Ma, nonostante i suoi successi, D si è trovato di fronte a un problema classico. Quando D è arrivato, il mondo era già andato oltre. Le aziende utilizzavano Java e C#, e il mondo era ancora saldamente ancorato a C e C++. Qualche anno dopo, è emerso un linguaggio chiamato Rust che poneva forte enfasi sull'integrità della memoria (lo stesso principio di D) ed è riuscito a catturare l'attenzione del mondo tecnologico in un modo che D non era mai riuscito a fare del tutto, rendendolo di fatto irrilevante.
Oggi, D è un linguaggio specializzato molto apprezzato. È già utilizzato da aziende come Netflix ed eBay per compiti specifici e ad alte prestazioni. È un linguaggio eccellente, ma non è mai diventato il re.
Esisteva una lingua A?
Sì, ma... non proprio
Bene. Ora sappiamo che C è C perché deriva da B. Ma esisteva un linguaggio A prima di B? La risposta è sì, ma non nel modo in cui potresti pensare. Vedete, non esisteva un linguaggio A formale prima di questi linguaggi. Sì, C è diventato C perché è venuto dopo B. Ma B è diventato B perché era la prima lettera di BCPL, non perché è venuto dopo A.

Tuttavia, se tracciamo correttamente la linea di discendenza, la storia inizia prima dei Bell Labs. Molto prima di B o C, c'era ALGOL. ALGOL, abbreviazione di Algorithmic Language, nacque nel 1958. Non fu il prodotto di un solo uomo, ma di un comitato di scienziati europei e americani che desideravano un modo universale per descrivere le operazioni matematiche. Se stiamo cercando il bisnonno della notazione moderna – la vera "A" al vertice della piramide – è ALGOL.
Basato sulle idee di ALGOL, fu creato un linguaggio chiamato CPL (Combined Programming Language), ma era troppo complesso, troppo complesso per le macchine dell'epoca. Questo portò a una versione "base" di CPL, chiamata BCPL. Ed è qui che inizia la nostra storia con Bell Labs.
Ora, nel 2026, viviamo ancora nell'era del C. Anche linguaggi nuovi e sofisticati come Python o JavaScript vengono solitamente interpretati da programmi scritti in C. Il C rimane il fondamento. Un linguaggio nato in un laboratorio del New Jersey per aiutare qualcuno a giocare a un gioco spaziale su un computer che era essenzialmente una calcolatrice gigante.










