Usi un iPhone? Le app per iPhone sono scritte in un linguaggio di programmazione chiamato Swift, basato su Objective-C, a sua volta basato su C++, che è un’estensione del linguaggio C. Giochi ai videogame? Tutti i principali motori grafici (ovvero i software che gestiscono la grafica dei videogame) sono scritti in C++. Usi Windows? E’ scritto in C++ ed è basato sulle idee di UNIX, uno dei primi sistemi operativi mai creati, scritto in C. Tutto questo è dovuto a Dennis Ritchie, il geniale informatico scomparso nel 2011.
Dennis Ritchie nasce nel 1941. Era un personaggio riservato ed introverso. Laureato in fisica ad Harvard, prende un dottorato di ricerca in matematica applicata. Nel 1967 inizia a lavorare presso un centro di ricerca informatico nei laboratori Bell. Qui viene inserito in un team il cui compito è realizzare un sistema operativo generico per computer. Il team di ricerca dà vita a UNIX, che è di fatto la base di qualunque sistema operativo moderno.
Il linguaggio C venne creato apposta per scrivere UNIX. E’ uno dei pochissimi linguaggi (se non l’unico) con cui si può sviluppare qualunque tipo di software. In particolare un sistema operativo. Al momento non c’è praticamente nessuna alternativa. Linux venne creato riscrivendo da zero UNIX. E’ attualmente il sistema operativo più diffuso sui server, che sono i computer che forniscono i servizi internet.
Sostanzialmente tutte le tecnologie informatiche attuali sono riconducibili alle due invenzioni di Ritchie: il linguaggio C ed il sistema operativo UNIX. Il mondo non sarebbe lo stesso se non fossero state inventate queste due cose, però molti non lo sanno e si ricordano solo delle invenzioni di Steve Jobs. Mi sono di recente imbattuto in un’immagine un po’ polemica: sulla sinistra abbiamo Steve Jobs, sulla destra Ritchie.
Su Jobs c’è scritto: “Vende idee rubate. Osannato come il Gesù dei computer, senza di lui non avremmo computer super costosi”. Su Ritchie c’è scritto: “Crea C e UNIX. Ignorato, senza di lui non avremmo: Windows, UNIX, C, software, linguaggi di programmazione e leggeremmo tutti in codice binario”. Trovo l’immagine un tantino esagerata ma sono sostanzialmente d’accordo con quanto vi è scritto.