domenica 18 gennaio 2015

I migliori programmatori di tutti i tempi



Seguendo l'esempio di alcuni che l'han già fatto, su G+ ho provato a farmi dare una mano per stilare una elenco di quelli che possono essere considerati i migliori programmatori di tutti i tempi.

Mi sono venuti in soccorso:
I'm Programmer
Juhan van Juhan
Luigi Fontana
Gianfranco Bo

Ecco, guardiamoli in faccia questi quasi sconosciuti (ai più) signori e mentre li guardiamo ricordiamoci che se oggi il livello tecnologico (e non solo) è quello che è molto lo dobbiamo a loro.
I nomi sotto le foto portano a pagine di Wikipedia --come faremmo senza la Wiki? (cit.)-- la versione inglese è ovviamente molto più dettagliata ma OK anche la nostra.

E allora, nessuna classifica, solo un elenco senza criteri di ordinamento:



Dennis Ritchie

L'autore del linguaggio di programmazione C e con Brian Kernighan del fondamentale K&R (The C Programming Language). L'aspetto rivoluzionario è che per la prima volta (e da allora quasi sempre) il sistema operativo è (quasi completamente) scritto in un linguaggio portabile e non nell'assembler proprio della macchina.
Il C è molto semplice, senza tutte quelle cose che rendono facile e veloce la codifica. E bisogna fare molta attenzione, devi gestire tutto tu.
Il C non nasce dal nulla, ha molti antenati, il capostipite è Algol.
A chi gli chiedeva quanto tempo ci volesse per imparare il C rispose che lui non aveva mai dovuto farlo.
In memoria dell’inventore del C
In memoria di Dennis Ritchie


Bjarne Stroustrup

Trasforma il C di Dennis Ritchie nell C++ inserendo classi e oggetti propri della OOP (programmazione orientata agli oggetti). I due linguaggi sono spesso (sbagliando secondo me) considerati assieme benché in pratica molto diversi. Bjarne è anche l'autore di The C++ Programming Language (confrontare il titolo con il K&R). Il C++ ha avuto (e avrà ancora) un'evoluzione molto profonda.


James Gosling

Inventore del linguaggio Java. La caratteristica innovativa principale di Java è di essere il più possibile indipendente dalla macchina su cui viene eseguito, cosa realizzata attraverso la JVM (Java Virtual Machine), l'unica componente richiesta per la macchina che lo esegue; mentre il codice compilato in byte-code è universale.
Oggi Java è uno dei linguaggi più utilizzati (e più pasticciati), prima Sun (dov'è nato) e poi Oracle (sopratutto; Oracle ha acquisito Sun nel 2010) hanno adottato una politica molto restrittiva. James non fa più parte del team di Java dal 2010.
Parallelamente a Java Netscape (un browser antenato di Firefox e molti altri) sviluppa un linguaggio di scripting con una sintassi simile: JavaScript, quello che trovate nei sorgenti HTML delle pagine web. Sono spesso confusi, erroneamente.


Linus Torvalds

Un mito, LBT! Appartenente alla minoranza di lingua svedese della Finlandia ricrea il kernel di Unix sul suo PC, molto meno potente dei telefoni di oggi. Tutto è nato dal fatto che Linus aveva tempo libero (non aveva la ragazza, alle volte per certe cose quelle sbagliano alla grande) e una versione didattica di Unix (MINIX di Andrew Tanenbaum) aveva problemi di licenza.
Ebbene sì: Linux (che si dovrebbe chiamare GNU/Linux) fa parte del sistema creato da Richard Stallman. Oggi Linux (GNU/Linux) è il sistema operativo prevalente in parecchie aree. E Android, quello degli smartphone viene da lì.


Anders Hejlsberg

Anders è l'autore del Turbo Pascal (poi Borland Pascal e Delphi), creato per uno dei primi PC poi portato su CP/M e DOS quando viene assunto dalla Borland che stava nascendo allora. Bellissimo, fu un successo clamoroso anche perché molto più razionale dei Basic di allora.
Lascia Borland per Microsoft dove sviluppa prima una versione rivale di Java, J++. Quando J++ viene abbandonato diventa il capo di C# un implementazione rivale di C++.  C# è oggi uno dei linguaggi più usati, in ambiente Microsoft.
Recentemente è passato a TypeScript, la sua versione di JavaScript.


Tim Berners-Lee

Papà e mamma erano programmatori e Tim segue le loro orme, finendo al CERN dove si occupa dell'immagazzinamento dei dati. Non quelli degli esperimenti ma dei materiali per le pubblicazioni, cose in troppi formati diversi. Con Robert Caillau propone un linguaggio SGML che, complice la liberizzazione di ARPAnet crea il Web e cambia l'economia mondiale e la nostra vita.
Ma il CERN si occupa di altre cose, lo lascia libero e sir Tim raggiunge il Laboratory for Computer Science (LCS) del Massachusetts Institute of Technology (MIT) (Cambridge, non Boston come dicono (quasi) tutti) dove fonda il  World Wide Web Consortium (W3C).


Brian Kernighan

Fa parte del nucleo di creatori di Unix; con Ritchie scrive il fondamentale K&R (the C programming language).
È con Alfred Aho e Peter Weinberger l'autore di AWK, un linguaggio di programmazione che viene considerato una meraviglia da qualcuno e un incubo da altri.


Ken Thompson

Ken partecipa a Multics, uno dei primi tentativi di creare un sistema operativo serio. Abbandonato quello ha il coraggio e la fortuna di rifare tutto con un gruppo eccezionale creando Unix. Ma ci sono problemi con l'antitrust, il prodotto è soggetto a restrizioni stringenti tranne che per l'università. Quando poi viene finalmente commercializzato ha due difetti: 1) costa caro (dicono i commerciali); e 2) è difficile da usare (dicono quelli che dovrebbero usarlo). Il guaio è che è tutto programmabile e sì: "UNIX is very simple, it just needs a genius to understand its simplicity".
Inoltre stanno nascendo i PC, molto più economici e semplici. Poi da Unix nascerà Linux ma questa è un altra storia (non ancora finita, anzi...).
Frattanto Ken sviluppa Plan 9, sistema operativo rimasto di nicchia e poi entra in Google.


Guido van Rossum

Guido è olandese; chi riesce a pronunciare bene il suo nome fa 100 punti, subito.
È il creatore di Python, linguaggio "facile" e molto usato, nato come successore di ABC (un linguaggio adatto all'insegnamento). Python ha influenzato parecchi nuovi linguaggi, per esempio Go (Guido ha passato in Google diversi anni).


Donald Knuth

È autore di The Art of Computer Programming (TAoCP), una cosa ancora non finita. Ma non solo, è suo anche TeX (da cui è derivato LaTeX oggi più usato) e molte altre cose, per esempio Metafont.
Ha un senso dell'umorismo tutto suo, scopritelo sulla Wiki.
I premi Turing: Donald Knuth


John McCarthy

È l'inventore del termine "intelligenza artificiale" ma anche del miglior linguaggio di programmazione esistente: il Lisp. John era un matematico che si venne a trovare a contatto con il gruppo che stava creando il Fortran. Il Fortran era per gli ingegneri, doveva far calcoli, cosa ben diversa dalla matematica. Partendo dal sistema formale del lambda calcolo di Alonzo Church ideò un approccio che avrebbe influenzato tutta la programmazione (anche il Fortran, da subito).
John pensava al Lisp come uno strumento matematico ma, con sua sorpresa, Steve Russell (sull'IBM 704, quello del Fortran) implementò eval, la funzione fondamentale del linguaggio. Era nata una stella, quella preferita da qualcuno di noi ancora oggi.
I premi Turing: John McCarthy


Niklaus Wirth

Niklaus è l'autore di Algorithms + Data Structures = Programs, del Pascal e di molto altro, anche hardware, giù a ETH (Zurigo). Ma era uno di quelli che contano già con Algol, ne esiste una versione che si chiama W, per dire. E il Pascal assomiglia (molto) a Algol.
La quasi totalità dei linguaggi di programmazione derivano o hanno ereditato da Algol e Pascal. Anche il C, il Basic e il Fortran. Ovviamente ci sono anche cose diverse da come le vedeva Niklaus, ma nessuno è perfetto. E poi sono piccolezze; Ritchie esagerava.


Bill Gates

William Henry Gates III compare in questo elenco anche se si considerasse solo il codice e gli algoritmi da lui scritti sarebbe troppo. Vero che quella del computer è stata la sua passione da sempre e ha scritto un interprete Basic (il suo linguaggio preferito, forse il solo che conosce).
I suoi meriti cono ben altri: la sua ditta, la Microsoft venne sceltaa da IBM per creare il sistema operativo del PC. Bill si riservò di poter conservare la proprietà del software. Il resto è storia (o leggenda).
Attualmente, con la moglie, svolge attività filantropica nella Bill & Melinda Gates Foundation.


Paul Allen

Compagno di Bill Gates al liceo (equivalente, lo so che non si chiama così) e poi in Microsoft. Ha parecchi meriti, tra i quali il sostegno al progetto SETI.


Bill Atkinson

È l'autore di HyperCard il primo programma ipertestuale. Inoltre si deve a lui QuickDraw fondamentale per lo sviluppo del Mac. Oltre, ovviamente, il suo coinvolgimento nello sviluppo dell'interfaccia grafica come la conosciamo.


John George Kemeny

Matematico ungherese da giovane è stato assistente di Albert Einstein, è l'inventore del BASIC con Kurz.
Il Basic è stato un prodotto rivoluzionario, semplificava moltissimo l'uso della programmazione, ed era a disposizione anche per gli studenti. Inoltre essendo interpretato era subito pronto per l'esecuzione. Le prime versioni erano molto diverse da quelle attuali, non strutturate. Inoltre ogni linea doveva cominciare con un'etichetta numerica che serviva per l'editor e --soprattutto-- per controllare il flusso di esecuzione del programma (l'infame GOTO). Ma il mondo era giovane e le macchine piccolissime.


Thomas Eugene Kurtz

Inventore del Basic, alla Dartmuoth dove fu chiamato da Kemeny.
Kemeny attirava i finanziamenti e allora arrivava Kurtz...


Dana Scott

Dana si è occupato di cose che sono non solo difficili ma è anche difficile dire cosa sono, ci provo: teoria degli automi e semantica dei linguaggi di programmazione.
Ecco perché bisogna studiare sodo: capire cosa vuol dire la frase precedente; altrimenti ci sono il Basic, il Fortran e il PHP. (LOL qui, nèh!).


John Backus

Per IBM creò il primo linguaggio di programmazione, il Fortran (1954). Dopo una fase preistorica in cui la programmazione avveniva spostando le connessioni dei cavi c'era stata la stagione del codice macchina e dell'assembler (che si dovrebbe dire assembly ma poi nessuno capisce di cosa parli). Cosa lenta e che si presta a errori difficili da vedere al volo. E per ogni modello cambia tutto.
Per una nuova macchina, il 704, si decise di creare un programma che agevolasse l'esecuzione di calcoli matematici, scritti proprio come si scrivono le formule. FORTRAN = FORmula TRANslating system per cui scrivo X = 2.0 * Y + 5 ma anche IRISP = 2 * 3 * ( 3 + 4) ottenendo (sempre che abbia assegnato prima un valore a Y) il risultato atteso.
Qui X e Y sono REAL (float si usa dire adesso, numeri con la virgola), IRISP è un INTEGER (int) secondo le regole di allora; no, non potevo scrivere IRISPOSTA, troppo lungo.
Posso suddividere il programma in sottoprogrammi, ognuno dei quali (quasi) indipendente, posso scrivere facilmente il risultato come (quasi) voglio. Mi sono liberato d'un colpo delle posizioni in memoria (e non ci sono ancora i puntatori) e il mio programma può girare su tutte le macchine che hanno il Fortran, basta compilarlo. Si racconta (ma forse è solo leggenda) che il Fortran dovesse essere solo per il 704 (e il successore 706) invece piacque, assai.
Vero che c'era anche chi la pensava --fin da subito-- molto diversamente.
Dopo il Fortran John fu molto attivo alla definizione di Algol (molto diverso dal Fortran e antenato della maggior parte dei linguaggi usati oggi), creò con Peter Naur la notazione Backus–Naur e infine si dedicò alla programmazione funzionale, argomento molto attuale che implica una riprogrammazione del programmatore.


Kenneth Iverson

Matematico canadese che si diplomò per corrispondenza ma poi finì a Harward a risolvere matrici per un futuro Nobel. Qui sviluppò un linguaggio di programmazione completamente diverso da tutti gli altri: APL (A Programming Language). È un linguaggio per le elaborazioni matematiche estremamente conciso, richiede una tastiera modificata. In seguito venne rivisto più volte, l'ultima versione si chiama J.
Quant'è diverso? Ecco un esempio: *.
Eccone un altro: +.
OK, vi do la soluzione: il primo calcola il minimo comune multiplo, il secondo il massimo comun divisore. Sì è tuttora usato.
No, non è uno scherzo, guarda qui.


Tony Hoare

Laureato in lettere (davvero) sir CAR Hoare è noto per l'algoritmo di ordinamento Quicksort, la logica Hoare di verifica della correttezza di un programma.


Edgar F. Codd

Ted ha inventato il DataBase mentre lavorava per IBM; questa non sviluppò l'idea e fu la fortuna di Oracle di larry Ellison.


Manuel Blum

Noto per i contributi allo sviluppo della teoria della complessità computazionale della crittografia. Attualmente lui, la moglie e il figlio sono tutti professori di roba di 'puters, tutti a Carnagie Mellon.


Leonard Adleman

Leonard è il creatore, con Ronald Rivest e Adi Shamir, della codifica asimmetrica RSA. È stato lui a chiamare virus il virus dei computer (è anche biologo).


Ronald Rivest

Creatore con Adi Shamir e Leonard Adleman della crittografia RSA si è in seguito occupato di cifrari e sistemi crittografici e voto elettronico.


Alan Kay

Alan ha fatto parecchie cose, tra le quali il linguaggio di programmazione Smalltalk, uno dei primi linguaggi orientati agli oggetti (anche se con un approccio molto diverso dal C++ che alla fine è prevalso, per adesso), l'interfaccia grafica a finestre e ha contribuito a definire il portatile e il protocollo ethernet. Tutto questo mentre si trovava al PARC (Palo Alto Research Center) della Xerox. Dopo è passato ad Atari, uno dei primi modelli di PC, poi Apple, Walt Disney, HP...
Sa cosa ci aspetta prossimamente: "Il miglior modo per prevedere il futuro è costruirlo" (cit.).


Barbara Liskov

Una delle prime donne a ottenere il PhD in informatica negli USA. È autrice di linguaggi di programmazione quali CLU, object-based, derivato da Algol con astrazione dei dati, Argus per programmi distribuiti e Thor database orientato agli oggetti. Parecchi programmi contemporanei fanno uso di sue idee.

Leslie Lamport

Pioniere del calcolo distribuito e ideatore di LaTeX, la versione attuale di TeX. Dopo tutta una serie di esperienze è finito in Microsoft (nessuno è perfetto).


Edsger Dijkstra

EWD iniziò con Algol. A quei tempi risale il famoso articolo Go To Statement Considered Harmful (1968) anche se il titolo è di Wirth. Interessato ai sistemi operativi sviluppò i semafori di Dijkstra. Famosi anche i suoi appunti, disponibili online. Eccone un paio:
  • FORTRAN --the infantile disorder--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
  • It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
I premi Turing: Edsger Dijkstra

Richard Stallman

RMS è RMS. Troppe cose, troppo eccentrico, troppo importante. Comincia con l'essere uno studente molto speciale, anche se non si capisce bene cosa faccia. Per un episodio sporadico, una stampante che non stampa come dovrebbe e il produttore gli rifiuta il driver, se la prende come non mai e fonda GNU (Gnu's Not Unix). Ma prima ancora aveva creato un editor molto speciale, Emacs. Con GNU e GPL (General Public License per il software libero) nasce la EFF (Electronic Frontier Foundation). Linus Torvalds pone il kernel di Linux sotto GPL per cui si dovrebbe parlare di GNU/Linux, se non lo fai Richard s'arrabbia). Ma Linux non è --nella visione di RSM-- il sistema operativo dei suoi sogni, c'è Hurd di cui ho già raccontato quello che so, qui.
L'amico Flavio, the Man from Mars (ma allora mi legge anche qua, WOW!!!) mi ricorda che RMS ha un blog (quasi) e c'è un post che mi piace assay: How I do my computing. OK, so di essere OT ma devo, davvero. & grazie Flavio MfM.


Larry PageSergey Brin 

Larry figlio di informatici studia da informatico e a Stanford dove incontra Sergey Mikhailovič un ebreo russo arrivato in America all'età di sei anni. I due diventano amici, fondano Google e conquistano il mondo.


Gary Kildall

I primi personal computer avevano grossi limiti di capacità di elaborazione (non immaginate quanto!). Gary creò il sistema operativo che s'impose perché facilmente portabile essendo scritto in un linguaggio ad alto livello (PL/M). Nacque il CP/M (Control Program for Microprocessor) che si diffuse rapidamente per poi essere rimpiazzato dal rivale PC-DOS dell'IBM e MS-DOS di Microsoft.
Al riguardo circola una leggenda sul come e perché IBM scelse Gates e non Gary; probabilmente non vera.


Steve Wozniak

Woz è il tecnico hardware che creò Apple. Con il mito Steve Jobs che tutti ricordano ma il genio era Woz e Jobs solo il commerciale.
In questa rassegna di programmatori è piuttosto abusivo, di lui si ricorda il BASIC per l'Apple.
Partecipa a tante iniziative, di tutti i generi. È un pasticcione ma mi è simpatico assay (cit. Juhan).


  Kristen Nygaard e Ole-Johan Dahl (Linguaggio Simula)

All'inizio degli anni novanta esplose il fenomeno della OOP (Object Oriented Programming, programmazione orientata agli oggetti). Anche se tu7tti pensano a Java, C++, C#, Delphi e vari linguaggi moderni il primo linguaggio OOP e stato Simula sviluppato nel Norwegian Computing Center di Oslo, principalmente da Ole-Johan Dahl e Kristen Nygaard.
Derivava da Algol 60 e prese il nome di Simula nel '67. Non ebbe la diffusione che si meritava ma molti discendenti, quelli che tutti conosciamo.


Douglas McIlroy
Doug lo aggiungo per un motivo personale(Juhan): quando ho scoperto Unix, il papo di Linux, rimasi molto affascinato dalla pipe (che sarebbe poi il tubo per annaffiare il giardino). Nessun altro sistema operativo le aveva, solo Unix. Ma non era l'unica caratteristica strana di Unix, lì tutto era programmabile, cosa che lo rendeva difficile ostico ai vecchi. La pipe permette di concatenare l'output di un programma con l'input del successivo, un'idea semplicissima --dopo. Si racconta (non trovo l'URL atz!) che il giorno che Doug spiegò la cosa al capo (Ken Thompson) quest'ultimo rimase fino a tardi in uffico; il giorno dopo tutti i comandi erano diventati filtri, cioè abilitati per l'uso della pipe. Un esempio semplicissimo: gli ultimi comandi vengono salvati e sono elencabili con history; per sapere quanti comandi sono stati salvati possiamo scrivere history | wc -l. (wc, word count conta i caratteri, le parole(w) e le linee) Ma è un esempio scemo, tutti sanno già la risposta (a meno che...). Ecco la pipe è il segno |, ce ne sono anche altre.
Sì è sempre la stessa solfa, quella del Lisp.


Grace Hopper
Grace, ammiraglio della Marina è stata una delle prime programmatrici. È stata lei a inventare il compilatore che traduce il codice sorgente (scritto dall'umano) e codice oggetto (comprensibile alla macchina). E già che c'era creò il COBOL, il linguaggio per i commerciali. Quando io ero piccolo si raccontavano un sacco di cose sul Cobol ma era tutta invidia, loro erano quelli con i $oldi. Dobbiamo a lei anche il termine bug, sapete con il Cobol...


Dan Bricklin
Dan è il padre di Visicalc.
Eh!? diranno i giovani, forse a ragione: ford sic transit... (non è che non comincia a essere obsoleta e incomprensibile anche questa?).
Per capirci il foglio di calcolo, tipo Excel.
Però Visicalc (oltre che Dan va ricordato anche Bob Frankston) fu lo strumento che decretò il successo dei primi PC (anche l'Apple). Poi vennero 1-2-3 di Lotus e Quattro di Borland.
Conosco chi con Excel fa cose che voi umani... pur essendo umani (credo) anche loro. Riferimenti incrociati e formule che ho rinunciato da tempo a sperarci.
E, naturalmente, c'è la versione FOSS, Libre Office (e anche altre).



PS: Sarebbe bello per ognuno di loro scrivere due o tre righe sul perché possono essere annoverati tra i migliori programmatori di tutti i tempi. 
Che dite si può fare? Mi date una mano?

Naturalmente poi il post verrebbe aggiornato con l'inserimento della descrizione e del nome (con eventuale link) di chi è stato così gentile da contribuire.

Se non voi direttamente, magari qualche vostro amico potrebbe essere interessato.
Voi fate girare, che se siam fortunati...

PPS: Ho messo le mie note, personali e tendenziose. Qualcun altro aggiunge le sue? Ci sarebbero anche altri nomi, volendo. Juhan.

19 commenti:

  1. Domani commento lungo su mezza dozzina (abbondante). Se possibile ne aggiungerei almeno uno.
    La mia lista non sarà di quelli più noti (sarebbe scontata) ma quelli miei.

    RispondiElimina
  2. La lista può essere ampliata in qualsiasi momento.

    Aspetto domani per il commentone ☺

    RispondiElimina
  3. Un commento lungo --come promesso-- che viene da quello che ho fatto con il 'puter dalla fine degli anni '70 a oggi. Solo come l'ho vista io, niente di universale.

    Comincio con John Backus, IBM di allora e il Fortran. Importante perché è il primo linguaggio di programmazione comprensibile dagli umani (ok, ing.). Number crunching, anche se adesso pare che l'espressione sia usata per i contabili. Molto elementare rispetto a quello che si usa oggi, ecco un esempio (personale): https://okpanico.wordpress.com/2010/08/15/il-fortran-dal-iv-al-77/ un post di quando il blog OKp era giovane, uno di cui sono orgoglioso.

    Naturalmente viene subito da dire "ahemmm..." e allora ecco IAL poi diventato Algol: http://en.wikipedia.org/wiki/ALGOL_58
    Da lì tutta una serie di sviluppi che portano direttamente al Pascal di Niklaus Wirth (importantissimo per i PC con SO di Microsoft, Turbo e borland pascal, Delphi) ma indirettamente a praticamente quasi tutti compresi C, C++, Java, Basic (anche se nato come semplificazione del Fortran).

    John McCarthy osserva la costruzione del Fortran e dissente, è un matematico. La sua idea ha una vita travagliata ma è un filone molto promettente della programmazione funzionale (Clojure, p.es.).

    Tornate ai listati Fortran e provate a indovinarne il flusso. Ecco Edsger Dijkstra,quello del Goto da considerarsi harmful: http://en.wikipedia.org/wiki/Edsger_W._Dijkstra
    Siamo alla programmazione strutturata. Il passo successivo sarà l'OOP (object oriented programming), un nome per tutti Alan Kay (il miglior modo per prevedere il futuro è costruirlo). Ah, sì Stroustrup (et al., anzi tutti quanti).

    Don Knuth --OK, devo parlarne?

    C'è tutto un fiorire di iniziative, linguaggi interpretati, più alla mano di quelli seriosi (Fortran, Pascal, C). Uno per tutti Python di Guido van Rossum ma c'è Matz per Ruby, i brasiliani di Lua, ...

    TBL, sir Timothy Berners-Lee propone un linguaggio SGML (http://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language) che, complice la liberizzazione di ARPAnet crea il Web e cambia l'economia mondiale e la nostra vita.

    Non so quanto fosse coscente di quello che faceva il team di Ken Thompson (http://en.wikipedia.org/wiki/Ken_Thompson). Lì è nato il SO moderno. Discorso lunghissimo qui, lo salto. Ma tante cose, le espressioni regolari, il/la pipe (di doug McIllroy http://en.wikipedia.org/wiki/Douglas_McIlroy), il concetto che "tutto è un file" che poi diventerà "tutto è un oggetto" con Plan 9.

    Unix ai miei tempi era caro e considerato difficile rispetto ai SO correnti. Inoltre c'era il VAX/VMS (http://en.wikipedia.org/wiki/Digital_Equipment_Corporation ) --OK, salto anche perché non sarei neutrale.

    Da Unix nasce Linux, anzi GNU/Linux. Mica mi metto a raccontarvi di Richard Stallman (http://en.wikipedia.org/wiki/Richard_Stallman) e Linus Torvalds (http://en.wikipedia.org/wiki/Linus_Torvalds), lo so che sapete tutto. Per me la nascita e l'esplosione di Linux rimane un mystero, mysteryouso assay, ma è un mio limite.

    Basta, commento troppo lungo: non leggetelo.

    RispondiElimina
    Risposte
    1. Mi c'è voluta una buona mezzoretta per seguire le tue indicazioni ed aggiornare il post.
      Grazie 1000! per il contributo

      Elimina
  4. Non vedo Sergey Brin. Sappiamo che, a metà degli anni Novanta, Brin sviluppò insieme a Larry Page gli algoritmi per il motore di ricerca Google.

    RispondiElimina
    Risposte
    1. Mancanza mia ☻

      Ora inseriti carissima.
      Grazie per la segnalazione

      Elimina
  5. La lista va completata. Per dire manaca Gary Kildall. E se poi consideriamo gli hardwaristi ci sarebbe Woz; anzi prossimamente...

    RispondiElimina
  6. Com'è che nessuno mi ha citato?

    A parte questo, se Umberto Eco non fosse uno stupido umanista sarebbe interessante una sua dissertazione sul concetto semantico di "programmatore", e soprattutto di "miglior programmatore".
    Quando leggevo Wirth, ricordo che mi sentivo come Fantozzi nella spettacolare parodia dell'inizio della storia dell'Umanità, con Adamo (quello riuscito bene, il lunedì dopo il settimo giorno) che guardandosi intorno dava un nome alle cose che lo circondava e lo insegnava a Eva...
    Adamo: "Fio-re"
    Eva: "Fio-re"
    Adamo: "Fra-go-la"
    Eva: "Fra-go-la"
    ...
    Adamo: "Mer-da"
    Eva: "Mer-da"
    Adamo: "Fan-toz-zi"
    Eva: "Fan-toz-zi"
    Fantozzi: "Ma... perché... ehm... mer-da... Fan-toz-zi..."
    Ecco, era proprio la sensazione precisa che provavo nel leggere "Algorithms + Data Structures = Programs".
    Obbligato da Angelo Raffaele Meo a tale lettura, mai obbligo scolastico mi fu più lieve! :)

    Giustissimamente Juhan usa i termini "manca" e "se poi consideriamo".

    Le liste che leggo sanno un po' di commemorazione di coloro che hanno fatto la storia dell'informatica, certo geniali per le innovazioni che hanno portato. In questo caso, però, Babbage e Turing dove stanno, ad esempio?

    In informatica ci sono molti modi per sentirsi programmatori superiori agli altri:

    inventare un linguaggio nuovo, cambiando il nome alle istruzioni e magari aggiungendo un punto e virgola alla fine di ogni riga;
    dedicarsi agli algoritmi, a prescindere dal linguaggio, come (a mio parere giustamente) suggerisce Annarita;
    ottimizzare a livello di produttività scegliendo tra i tanti possibili l'algoritmo migliore e utilizzando il linguaggio più efficiente (che probabilmente è la risposta migliore alla domanda "miglior programmatore");
    decadere nel patetico programmando un algoritmo altrui il più velocemente possibile;
    decadere nel patetico programmando un algoritmo altrui col minor numero di caratteri possibile

    Quello che voglio dire è che la domanda, assolutamente legittima, è stata formulata forse in modo troppo vago, della famiglia di domande per le quali "42" è una risposta convincente!

    Anziché dare una risposta alla domanda, la riformulo in un modo che meglio esprime la curiosità di Marco:

    "Quali sono le personalità che meglio hanno contribuito alla nascita dell'informatica moderna"?

    P.S. personalmente sono convinto che i più in gamba siano quelli che riescono a inventare e implementare algoritmi di calcolo quanto più vicini alla capacità umana di riconoscere le cose e capire le astrazioni che il cervello umano sa fare naturalmente, dal riconoscere la Bellucci una volta uploadata una fotografia a caso della bella cinquantenne (cosa che allo stato atuale non funziona) alla capacità di guidare una macchina in modo automatico nel traffico cittadino (cosa che per ora, a quanto mi consta, funziona solo nelle deserte strade del deserto del Nevada).

    RispondiElimina
    Risposte
    1. Una cosa che forse interessa molto Giors (che può andarci) e tutti gli altri per lo streaming: http://nexa.polito.it/2015/01/lectio-magistralis-meo lunedì 26 alle 18.
      Peril resto sì; ma anche no (forse).

      Elimina
    2. Certo, quando si dice "semplici coincidenze"... alle volte viene il dubbio che Randi e Angela (nel suo piccolo, non come persona, ma come pubblico) non ci abbiano azzeccato... Certo che ci andrò, e gli chiederò anche se si ricorda di me, penso che non siano molti gli studenti di Ingegneria Mineraria che hanno dato "Principi di progettazione dei compilatori" prendendo per di più 30 all'esame, anche se sono passati trent'anni giusti!

      Elimina
    3. Poi ci fai un post, qui o altrove, vero?

      Elimina
    4. Quanto al "Per il resto sì; ma anche no (forse)" è esattamente quello che pensavo del mio post mentre lo scrivevo, sono contento che tu abbia materializzato i miei dubbi su quello che stavo scrivendo con una sintesi così chiara e significativa al tempo istesso!

      Elimina
    5. Ci farò un post, anche se temo sarà breve... tipo "Guardi ingegnere, mi spiace ma per quanto mi sforzi non mi ricordo assolutamente di lei!" :D

      Elimina
    6. @Giorgio
      Mi ci vorrebbe un giorno intero per rispondere al tuo commento.
      Mi limito a dire che sono d'accordo quasi su tutto (faccio prima ☺)

      Solo una precisazione:
      per "programmatori" (almeno secondo la mia intenzione) ho voluto intendere gente che il codice "lo scrive", meglio, che ha inventato nuovi linguaggi, protocolli ecc.
      I mostri sacri che tu hai nominato (insieme a John von Neumann, Ada Lovelace ecc.) hanno fatto la storia dell'informatica, ma non credo possano essere considerati "programmatori", almeno non secondo il senso che oggi ha questo termine.
      Per la mia lista dovevo fare una scelta e ho optato per "gli smanettoni" ☺


      PS:
      se hai tempo e se ti va, perché insieme a Juhan non buttate giù due righe per ognuno dei presenti in lista? Sempre che siate concordi che sia corretto che siano presenti in lista.

      Elimina
  7. Sono terribilmente in ritardo ma con giustificazione: è stata una settimana intensa.

    Ora sono in fuga per il "sabato sera" ma domani ripasso con calma e cerco di rispondere a tutti.
    Nel frattempo, grazie (sempre a tutti)

    RispondiElimina
  8. Se sono ancora in tempo altri due nomi, li trovi qui: http://en.wikipedia.org/wiki/Simula

    RispondiElimina
  9. Prossimamente --un paio per giorno-- metto delle piccole note, prese dalla Wiki. Questo post è enciclopedico come argomento, si potrebbe trasformarlo in libro.

    RispondiElimina
    Risposte
    1. Grazie Juhan.

      Il libro potrebbe avere un titolo tipo: "ggente che ha fatto la storia della programmazione"

      Elimina