Come gli insegnanti negli anni ’70 hanno inventato il C, un linguaggio di programmazione molto influente

Se pensi che il C sia il tipo di linguaggio che solo un uomo bianco di 60 anni conosce, ripensaci. Sì, è un dinosauro nei linguaggi di programmazione odierni. Ma è ancora vivo e vegeto in più aree di quanto pensi.

Innanzitutto, Unix è scritto in C. Originariamente scritto in assembly, il kernel Unix è stato riscritto in C. 1973. Questo rende Unix molto più portabile e popolare su diverse macchine. E senza questo non avremmo tutto il bello cose sistema operativo Oggi: pensa a qualsiasi cosa con Linux, Mac OS X, Android, iOS, Chrome OS e router.

Se hai usato un database, hai sicuramente usato anche C. Anche se non lo sai! Sistemi di gestione di database come Oracle Database e MySQL Scritto in C.. Da allora la maggior parte di essi è stata riscritta in C++, ma sono anche discendenti diretti di C.

E anche se stai solo facendo Python, probabilmente stai usando C tutto il tempo. Lo sto usando a meno che non abbia selezionato Jython, IronPython o PyPy CPython.. Questa è l’implementazione originale di Python. Sto scrivendo codice Python, ma l’interprete (che traduce il codice scritto dall’uomo in qualcosa che la macchina può capire) è in realtà scritto in C.

In breve, C è ovunque. Per qualche ragione, non sono sopravvissuti solo grandi dinosauri grassi nei tempi moderni. Ha un successo incredibile perché è così conveniente.

Quindi potresti essere sorpreso che C non sia nato dal successo. È il risultato di un decennio di fallimenti che potrebbe non essere possibile senza un insegnante di scuola a cui piace programmare durante le vacanze.

Un insegnante di scuola che era un partner di Alan Turing

Incontra Christopher Stratchey. Nato in un’influente famiglia britannica nel 1916, ha studiato all’Università di Cambridge, dove ha incontrato molti noti scienziati. Ma è stato per anni Ignora la sua ricerca E la sua prestazione nell’esame finale è stata piuttosto travolgente.

Questo potrebbe essere il motivo per cui non ha perseguito una carriera accademica come molti altri coetanei. Invece, ha un anno di guerra Ricerca radar industriale. Dopodiché, è diventato un insegnante di scuola ed è rimasto solo fino al 1951.

In quel momento tutto è cambiato per lui. Un amico lo presentò alla struttura del National Physical Laboratory nel Regno Unito. Stratchey trascorrerà le vacanze scolastiche e i tempi di inattività al Pilot ACE in laboratorio, il primo computer dotato del motore di calcolo automatizzato di Alan Turing.

Stratchey aveva lo scopo di insegnare ai computer come giocare a dama. Gli sforzi per affrontare questi compiti logici erano degni di nota in un’epoca in cui i computer venivano utilizzati principalmente per risolvere rapidamente le equazioni.

Non è riuscito al primo tentativo. Pilot ACE Non avevo la capacità di archiviazione per fare il lavoro. Potresti ridere di quanto piccolo deve essere stato quel ricordo – è legale – ma ricorda che erano negli anni ’50!

Attraverso il suo vecchio compagno, Alan Turing, Stratchey fu in grado di completare una macchina migliore, la Ferranti Mark I. Sotto la guida del suo amico, alla fine ci riuscì.

Le voci su questo insolito risultato si diffusero rapidamente e presto Stratchet fu invitato a promuovere lo sviluppo dell’informatica per il governo britannico.

L’Università di Cambridge era scettica sulla nuova lingua, ma tre David hanno vinto.Immagine dell’autore

3 David vuole una lingua

Nel frattempo, a Cambridge, l’università voleva acquistare un nuovo computer. All’epoca era un grosso problema, e poiché i computer sono nuovi di zecca, hanno pensato di inventare un nuovo linguaggio.

Era chiaro che un nuovo computer aveva bisogno di un nuovo sistema operativo, ma non doveva essere una nuova lingua. Tuttavia, tre ricercatori, David Hartley, David Wheeler e David Barron, volevo divertirmi a creare un nuovo linguaggio.

Inoltre, i tre David non hanno chiesto ai futuri utenti i punti di forza e di debolezza della vecchia lingua. Ad esempio, Fortran IV era già in uso in quel momento e avrebbe dovuto essere in uso. Adatto al lavoro..

Ma i tre David pensavano che sarebbe stato facile creare qualcosa di meglio.

L’hanno chiamato CPL per Cambridge Programming Language. Dopo che due ricercatori dell’Università di Londra si sono uniti ai tre David, è diventato un linguaggio di programmazione composto.

Quando ci ripenso più tardi, nota David HartleyCercare di creare questo nuovo linguaggio è stato “ridicolo”.

La lingua è diventata troppo complicata

Avere Christopher Stratchey a supervisionare il progetto potrebbe essere stato “ridicolo”. La sua potenza di calcolo era innegabile, ma sembrava che il progetto gli piacesse così tanto da non potergli dare la priorità. Pertanto, il team di sviluppo era ossessionato dai piccoli problemi piuttosto che affrontarli in modo efficace.

Ben presto, CPL divenne noto come il linguaggio di programmazione di Christopher.

Il linguaggio è diventato molto complesso a causa di tutti i piccoli dettagli che il team ha implementato nell’affermazione di Stratchey. Quando volevano scrivere un compilatore, per lo più fallì perché il linguaggio macchina risultante era inefficiente.

Schermo del computer che mostra un codice del medico che tiene di nuovo lo stetoscopio
Richards ha rimosso tutto ciò che non è importante dalla CPL.Immagine per autore

Il linguaggio è diventato troppo semplice

Quando Stratchey rimase al MIT per alcuni mesi, Martin Richards si unì al team CPL e iniziò la semplificazione. Ovviamente, l’obiettivo era ottenere un buon compilatore e uno che generasse un codice macchina efficiente.

È così che Richards ha creato BCPL da CPL, il CPL di base. In un certo senso, era una nuova lingua, ma ammette anche che la vecchia CPL ha fallito miseramente.

Quando un po’ più tardi si unì a Stratchey al MIT, un collega dei Bell Labs venne a vedere cosa stavano facendo. Il mio collega Ken Thompson stava lavorando su un altro sistema operativo, Multics, che stava per essere abbandonato. (Finalmente è sopravvissuto, ma questa è un’altra storia.)

Alla fine, Thompson ha rivolto la sua attenzione allo sviluppo di Unix, uno dei sistemi operativi più utilizzati fino ad oggi. Riuscì a installare Unix su un piccolo computer, il PDP-7, ma BCPL era ancora troppo grande per stare sulla stessa macchina. Lo ridusse alle caratteristiche che riteneva più importanti e chiamò la nuova lingua B.

C è nato — finalmente

Nel 1971, Dennis Ritchie adottò B e aggiunse funzionalità per aiutare con computer più potenti. Questa lingua ha chiamato NB – il nuovo B.

Nel frattempo, Thompson stava lavorando alla riscrittura di Unix in un linguaggio di alto livello. All’epoca, la maggior parte dei sistemi operativi era ancora scritta in assembler, il che significava che ogni volta che acquistavo una nuova macchina, dovevo sviluppare un nuovo sistema operativo. Al contrario, Unix di alto livello funziona su qualsiasi macchina.

Thompson ha provato a utilizzare NB per questa attività, ma non è riuscito. Ritchie e lui hanno quindi aggiunto funzionalità a NB una dopo l’altra fino a quando non sono stati in grado di creare Unix. In particolare, abbiamo aggiunto una struttura che all’epoca non si trovava in nessun’altra lingua.

La struttura è stata un cambiamento notevole abbastanza per i due da chiamarla una nuova lingua. Voilà, C è nato nel 1973!

Donna seduta davanti allo schermo del computer che mostra “width =” 1500 “height =” 1001 “class =” js-lazy “src =” https://miro.medium.com/max/1500/ 1 * 6eAFY8P6oI_s82vOoDDr3A.jpeg “ />
C è diventato rapidamente popolare ed è ancora il fiore all’occhiello.Immagine dell’autore

Leave a Reply