A Brief and Fun History of Coding: the Beginnings

Wrens operating the 'Colossus' computer, 1943.'Colossus' computer, 1943. Hai mai guardato le immagini dei primi computer e ti sei chiesto come siamo arrivati da quello al dispositivo super-dolce e ad alta velocità su cui stai leggendo questo articolo?

No? Beh, si dovrebbe-perché è piuttosto fresco e importante.

Quando si scrive sullo sviluppo di qualsiasi cosa da una prospettiva storica, è difficile scegliere un punto di partenza senza diventare eccessivamente filosofici abbastanza rapidamente (come siamo arrivati qui??). Mentre si è tentati di scavare in profondità in un’indagine cervello-torsione della teoria dell’informazione, per ora, ci limiteremo a bastone con le basi, che ovviamente inizia con Hollywood

Hollywood.

Ricordi quando il Dottor Strange ha interpretato la parte di Alan Turing nel film The Imitation Game? Se non l’avete già visto, lo consiglio vivamente, in quanto è una storia affascinante, anche se tragica, dato il trattamento che una mente così brillante ha ricevuto. Ma rilevante per questa narrazione è la parte che ha giocato nello sviluppo della codifica.

Durante la seconda guerra mondiale, gli inglesi erano intenti a rompere i messaggi in codice inviati dai tedeschi. Assemblando la maggior parte dei loro sforzi in un luogo chiamato Bletchley Park, una tenuta di campagna inglese, si misero al lavoro per determinare il modo migliore per risolvere il caso, per così dire.

Avere la tua città bombardata ripetutamente è apparentemente un enorme motivatore, poiché il team ha fatto rapidi progressi nell’area dell’assistenza automatizzata, che ha portato alla creazione di una macchina chiamata “Colossus”—probabilmente il primo computer digitale programmabile, elettronico al mondo (vedi foto sopra). Turing era un membro chiave della squadra lì e il suo lavoro è stato direttamente responsabile della rottura di diversi codici tedeschi che, secondo alcuni storici, accorciato la guerra di almeno un paio di anni.

Da lì, Turing ha continuato a sviluppare quello che era noto come ACE (Automatic Computing Engine), che si distingueva dai suoi predecessori come la prima macchina ad impiegare “istruzioni per computer abbreviate”—un linguaggio di programmazione.

I messaggi codificati ispiravano la rottura del codice, che richiedeva velocità ed efficienza; queste qualità richiedevano macchine, che richiedevano più velocità ed efficienza, che richiedevano che funzionassero su un linguaggio abbreviato che avrebbe gestito un programma, il che significava che avevano bisogno di code codice.

È nata l’informatica moderna.

Venendo full-circle in esigenze di sviluppo e progressi in un tempo molto breve, la tecnologia informatica è decollato da lì. Non piccola parte di questo è dovuto ad uno dei più intelligenti persone che abbia mai vissuto—matematico, fisico, e il generale polymath John von Neumann, il cui lavoro sul Progetto Manhattan richiesto una serie di idee che ha portato avanti in sviluppo algoritmico, la risoluzione di problemi con generatori di numeri pseudocasuali, e una progettazione dell’architettura del computer che viene usato ancora oggi, e che ha fortemente influenzato lo sviluppo del famoso ENIAC macchina e l’IBM 704.

Potrei passare le prossime 50.000 parole a scrivere su von Neumann e ancora a malapena graffiare la superficie del suo genio. Basti dire che era malvagio-intelligente, molto importante, e vale la pena leggere di più su un certo numero di livelli, ma soprattutto la questione dello sviluppo computazionale.

N Neumann le teorie e le applicazioni pratiche di eumann hanno stimolato un’enorme crescita nell’area della programmazione di computer, in particolare nell’area di come funziona all’interno dell’architettura di una macchina. Il modo in cui la memoria è sia memorizzata che accessibile è direttamente attribuito a von Neumann e ha permesso di seguire numerose direzioni di sviluppo sin dalla sua spiegazione nel 1945.

Da lì possiamo fare alcune connessioni interessanti in un metodo di tipo a sei gradi di separazione. Neumann ha anche consultato il progetto EDVAC, i cui principali progettisti erano J. Presper Eckert e John Mauchly. La Eckert-Mauchly Computer Corporation nel 1949 assunse un matematico di nome Grace Hopper come sviluppatore senior del progetto UNIVAC I, la donna più responsabile del linguaggio di programmazione noto come COBOL—Common Business-Oriented Language.

Grace Hopper Code Platoon offre una borsa di studio Women in Technology a una veterana in onore di Hopper. La borsa di studio supera l’intero tuition 15,500 tasse scolastiche per una veterana femminile durante ogni coorte.

La sua convinzione era che la programmazione dovesse essere basata principalmente sulla lingua inglese, poiché era molto più facile da capire e lavorare per la maggior parte delle persone. Anche se le ci sono voluti ben tre anni di essere rifiutato a Eckert-Mauchly, alla fine ha conquistato tutti e ha lanciato quello che sarebbe stato uno dei linguaggi di programmazione più influenti nello sviluppo del software.

Ciò che è forse più affascinante di Grace, tuttavia, è che ha fatto tutto questo mentre prestava servizio nelle Riserve navali, a cui si è unita durante la seconda guerra mondiale (voleva essere in servizio attivo ma era troppo piccola per gli standard della Marina) e si è ritirata come Contrammiraglio, permettendole così di implementare molte delle sue idee negli standard di La sua insistenza sulla sperimentazione di sistemi informatici ha portato ad una convergenza di linguaggi di programmazione come COBOL e FORTRAN, sviluppato da John Backus, e i metodi per l’attuazione di questi test alla fine formarono la fondazione del National Bureau of Standards, che alla fine fu rinominato National Institute of Standards and Technology (NIST).

Alcuni programmatori sostengono che FORTRAN è il fondamento di quasi tutti i linguaggi di programmazione usati oggi e che tutto il resto discende da esso. Sebbene fosse più matematico del metodo basato sull’inglese che Hopper aveva sostenuto con COBOL, l’intento che Backus aveva con FORTRAN era quello di creare qualcosa di decisamente più umano nella sua metodologia di input rispetto ai linguaggi precedenti, consentendo così agli utenti di sviluppare il proprio con più facilità (una componente cruciale per lo sviluppo del codice).

Backus, un designer di IBM, è l’autore del BNF-la forma normale di Backus-che è stata implementata per definire la sintassi del linguaggio di codifica e il modo in cui vengono espressi. Quindi, quando vedi un libro di testo o un manuale che spiega quale tipo di linguaggio di programmazione viene utilizzato e come differenziarli, puoi ringraziare John Backus (o essere arrabbiato con lui, a seconda di quanto frustrato si ottiene con quello stile di notazione).

Ciò che è interessante notare qui è che la maggior parte di ciò che hai appena letto (a parte la creazione del NIST) era accaduto nel 1959.

In altre parole, le basi per la programmazione moderna erano state saldamente stabilite prima che la TV a colori fosse una cosa comune.

La prossima volta vedremo gli sviluppi da allora, cosa significano e come quei ragazzi di Bill Gates e Steve Jobs lavorano in questo mix.

Greg Drobny è un ex soldato di fanteria aviotrasportato, capo squadra PSYOP, consulente politico, blogger professionista mil, ed è coordinatore di sensibilizzazione degli studenti di Code Plotone. Ha conseguito una laurea in storia, un Master in psicologia organizzativa e attualmente sta perseguendo un master in storia. È sposato con quattro figli che lo tengono più che leggermente occupato ed è appassionato di aiutare i veterani a trovare i loro percorsi nella vita e sviluppare le competenze necessarie per perseguire i loro obiettivi.

Iscriviti alla nostra Newsletter

Iscriviti alla nostra mailing list per ricevere le ultime notizie e gli aggiornamenti dal nostro team.

Grazie per esserti iscritto alla nostra mailing list!



Lascia un commento

Il tuo indirizzo email non sarà pubblicato.