20 migliori invenzioni nella programmazione di computer
In una delle conversazioni che ho avuto con il nostro redattore capo, mi è stata posta la domanda: "Come ha fatto il programma dei primi programmatori?" Questo ha portato a una discussione su Babbage e Ada Lovelace, al termine della quale, sono stato assegnato a ricerca come tutto ha avuto inizio - sono i molti primati nella storia dell'informatica.
Ho scavato nei libri e nei siti web e ho incontrato molte rivelazioni: Babbage non è tecnicamente l' inventore del computer, FORTRAN non è stato sicuramente il primo linguaggio di programmazione di alto livello e avevamo uno stilo per gli schermi CRT (davvero).
Sono stato anche sorpreso di scoprire come le guerre essenziali stessero alimentando il rapido progresso dello sviluppo dei computer, oltre al contributo di molte donne che i nostri libri di testo hanno scelto di trascurare. Quindi, per colmare le lacune nella storia di computer e programmi, ho messo insieme 20 primati nel mondo dell'informatica, dalle palle da bowling alla seconda guerra mondiale e tutto ciò che è nel mezzo.
1. Primo computer: "Difference engine" (1821)
Il "Difference Engine" era un computer meccanico proposto da utilizzare per generare tabelle matematiche. Commissionato dal governo britannico, Charles Babbage (noto anche come Padre del Computer) ha iniziato a lavorarci, ma a causa del suo alto costo di produzione, il finanziamento è stato interrotto e la macchina non è mai stata completata .

Il "motore analitico" era anche un computer meccanico proposto, il cui input doveva essere rappresentato da schede perforate, con programmi e dati punzonati su di essi. Un'altra idea di Charles Babbage, questa macchina non è stata completata.

Ada Lovelace (il primo programmatore di computer al mondo) iniziò a tradurre i record del matematico italiano Luigi Menabrea sul motore analitico di Babbage nel 1841. Durante la traduzione si interessò alla macchina e lasciò note con la sua traduzione. Una delle note - nota G, conteneva l'algoritmo per calcolare i numeri di Bernoulli dal motore analitico, considerato il primo programma per computer.

Konrad Zuse (l'inventore dei computer) aveva già un computer meccanico funzionante Z1, ma funzionava solo per pochi minuti alla volta. L'uso di una tecnologia diversa - i relè, hanno portato a Z2 e alla fine a Z3. Z3 era un computer elettromagnetico per il quale programmi e dati venivano memorizzati su nastri perforati esterni. Era un progetto segreto del governo tedesco e utilizzato dall'Istituto di ricerca aeronautica tedesca. La macchina originale fu distrutta nel bombardamento di Berlino nel 1943.

Creato da John Vincent Atanasoff & Clifford Berry, il cosiddetto computer Atanasoff-Berry o ABC è stato utilizzato per trovare la soluzione per equazioni lineari simultanee. È stato il primo computer che ha utilizzato il binario per rappresentare dati e interruttori elettronici anziché meccanici. Il computer tuttavia non era programmabile.

Il Colosso creato da Tommy Flowers, era una macchina creata per aiutare gli inglesi a decifrare i messaggi tedeschi che erano stati crittografati con il cifrario Lorenz, nella seconda guerra mondiale. È stato programmato da interruttori e spine elettronici. Colosso ha portato il tempo per decifrare i messaggi criptati da settimane a poche ore.

Finanziato dall'Esercito degli Stati Uniti, ENIAC o Electronic Numerical Integrator And Computer è stato sviluppato presso la Moore School of Electrical Engineering dell'Università della Pennsylvania da John Mauchly e J. Presper Eckert. ENIAC era largo 150 piedi e poteva essere programmato per eseguire operazioni complesse come loop; la programmazione è stata effettuata alterando i suoi interruttori e cavi elettronici. Ha utilizzato lettori di schede per input e punzoni di schede per l'output. Ha aiutato con i calcoli per la fattibilità della prima bomba all'idrogeno al mondo.

Perché i due anni per la prima trackball? Permettimi di spiegare.
Il primo anno fu l'anno dato da Ralph Benjamin, che dichiarò di aver creato il primo trackball al mondo quando lavorava a un sistema di monitoraggio per aerei a bassa quota nel 1946. L'invenzione che descrisse usava una palla per controllare le coordinate XY di un cursore sullo schermo. Il design fu brevettato nel 1947 ma non fu mai rilasciato perché considerato un "segreto militare". I militari hanno optato invece per il joystick.
Il secondo contendente per la prima trackball al mondo, utilizzato nel sistema DATAR della Marina canadese nel 1952 fu inventato da Tom Cranston e co. Questo modello di trackball aveva un mock up che utilizzava una palla da bowling canadese girata su "cuscinetti ad aria" (vedi immagine sotto).

Per superare le carenze della memoria del delay-line, Frederic C. Williams e Tom Kilburn avevano sviluppato il primo dispositivo di archiviazione digitale ad accesso casuale basato sul CRT standard. La SSEM (Manchester Experimental Machine su piccola scala ) è stata utilizzata per implementare quel dispositivo di archiviazione per l'uso pratico. I programmi sono stati inseriti in forma binaria utilizzando 32 switch e il suo output era un CRT.

Sebbene Konrad Zuse abbia iniziato a lavorare su Plankalkül dal 1943, solo nel 1948 pubblicò un articolo a riguardo. Purtroppo non ha attirato molta attenzione. Ci vorrebbero quasi tre decenni dopo per implementare un compilatore per questo, uno creato da Joachim Hohmann in una tesi.

Assembler è un programma che converte i mnemonici (basso livello) in una rappresentazione numerica (codice macchina). Gli ordini iniziali in EDSAC ( Electronic Delay Storage Automatic Calculator ) furono i primi di un tale sistema. È stato utilizzato per assemblare i programmi dall'ingresso del nastro di carta nella memoria e l'esecuzione dell'ingresso. I programmi erano in codici mnemonici invece di codici macchina, rendendo "codice iniziale" il primo assemblatore in assoluto elaborando un codice di programma di basso livello simbolico in codice macchina.

"Simon" di Edmund Berkeley è stato il primo computer digitale economico in grado di eseguire quattro operazioni: aggiunta, negazione, maggiore e selezione. L'input era carta perforata e il programma girava su nastro di carta. L'unica uscita era attraverso cinque luci.

Un compilatore è un programma che converte il linguaggio di alto livello in codice macchina. Il sistema A-0 era un programma creato dal leggendario Grace Hopper per convertire un programma specificato come sequenza di subroutine e argomenti in codice macchina. Successivamente, l'A-0 si è evoluto in A-2 ed è stato rilasciato ai clienti con il suo codice sorgente che lo ha reso probabilmente il primo software open source .

Un codice di accesso è un linguaggio di programmazione di alto livello che utilizza un compilatore. Il primo autocode e il suo compilatore sono comparsi all'Università di Manchester per rendere più intelligibile la programmazione della macchina Mark 1. È stato creato da Alick Glennie, da qui il nome di Autocode di Glennie.

AN / FSQ-7 era basato su uno dei primi computer che mostrava l'output in tempo reale, Whirlwind. È diventato l'ancora di salvezza per il sistema di difesa aerea statunitense noto come Semi-Automatic Ground Environment (SAGE). I computer hanno mostrato tracce per i bersagli e hanno mostrato automaticamente quali difese erano nel raggio d'azione. AN / FSQ-7 aveva 100 console di sistema; eccone uno (immagine sotto), OA-1008 Situation Display (SD), con una pistola leggera usata per selezionare i bersagli sullo schermo per ulteriori informazioni.

Se controlli i libri di testo, troverai FORTRAN elencato come il primo linguaggio di programmazione di alto livello. Pensato da John W. Backus che non amava i programmi di scrittura e ha deciso di creare un sistema di programmazione per semplificare il processo, l'uso di FORTRAN ha ridotto notevolmente il numero di istruzioni di programmazione necessarie per far funzionare una macchina. Nel 1963 erano già disponibili oltre 40 compilatori FORTRAN.

Fu durante una sessione di conferenze su computer grafica che l'idea di un topo arrivò a Douglas Engelbart nel 1964. Pensò a un dispositivo con un paio di piccole ruote (una ruota orizzontalmente l'altra in verticale) che può essere usata per spostare un cursore su uno schermo. Un prototipo (vedi sotto) è stato creato dal suo ingegnere capo, Bill English, ma sia inglese che Engelbart non hanno mai ricevuto royalties per il design perché tecnicamente apparteneva a SRI, il datore di lavoro di Engelbert.

Conosciuto anche come Perottina, Programma 101 è stato il primo PC commerciale al mondo. Potrebbe eseguire addizione, sottrazione, moltiplicazione, divisione, radice quadrata, valore assoluto e frazione. Per tutto quello che poteva fare, aveva un prezzo di $ 3.200 (era un tempo molto diverso) e riuscì a vendere 44.000 unità. Perottina fu inventata da Pier Giorgio Perotto e prodotta da Olivetti, un produttore italiano.

Non sembra molto ma questo è stato il primo touchscreen che il mondo abbia mai conosciuto. È un pannello touchscreen capacitivo, privo di sensibilità alla pressione (c'è un contatto o nessun contatto) e registra solo un singolo punto di contatto (al contrario del multitouch). Il concetto è stato adottato per essere utilizzato dai controllori del traffico aereo nel Regno Unito fino agli anni '90.

Basato sul concetto di costrutti di classe di CAR Hoare, Ole-Johan Dahl e Kristen Nygaard hanno aggiornato il loro linguaggio di programmazione "SIMULA I" con oggetti, classi e sottoclassi. Ciò ha portato alla creazione di SIMULA 67, che è diventato il primo linguaggio di programmazione orientato agli oggetti.

Per quanto questo post riguardasse ciò che potremmo apprendere dai numerosi successi nella storia dell'informatica, è difficile immergerci nella storia stessa. Di conseguenza, almeno per me, siamo più riconoscenti riguardo al lavoro svolto da generazioni precedenti alla nostra, e possiamo capire meglio che cosa guida i molti cambiamenti che danno forma al mondo in cui viviamo oggi.
Spero che questo post ti ispiri tanto quanto mi ha ispirato. Condividi le tue opinioni su questi successi, e se ne ho perso qualcuno, che sono sicuro di aver fatto, aggiungili nei commenti.
Ora Leggi: 40 persone che hanno cambiato Internet


15+ Conferenze di sviluppo front-end per partecipare nel 2017
La stagione delle conferenze è alle porte, quindi ti presentiamo una guida al panorama della conferenza di sviluppo front-end del 2017. Tuttavia, ciò non significa essere una guida esauriente, soprattutto perché ci sono ancora un sacco di conferenze in cui gli organizzatori non hanno ancora confermato la posizione e / o la data, e ci sono anche molte conferenze importanti in altre lingue oltre all'inglese.Si

Dovresti assumere un web designer o usare un web builder?
I web builder sono fondamentalmente un magico strumento per designer non web. Ciò che una volta era fuori dalla portata della gente può ora essere colto con un minimo sforzo. Ma ci sono cose che i web builder non possono fare con i web designer. La domanda ora è: dovresti assumere un web designer per creare il tuo sito web o semplicemente usare un web builder e costruirlo tu stesso?I