di  -  venerdì 15 febbraio 2013

La scorsa settimana abbiamo reso omaggio ai 70anni di Ken Thompson, creatore di Unix (insieme a Dennis Ritchie) e del linguaggio “B”.

Oggi (15 febbraio), invece, le candeline si spengono per il professore svizzero Niklaus Wirth, padre di un altro linguaggio fondamentale nella storia della programmazione: il Pascal.

 niklaus_wirth

Niklaus Wirth

Nato il 15 febbraio 1934 a Winterthur (Zurigo), Wirth si laurea in Ingegneria Elettronica all’età di 25 anni presso il più rinomato politecnico elvetico, l’ETH di Zurigo. Successivamente consegue prima un Master of Science presso l’Università Canadese di Laval e poi, nel 1963, il dottorato presso l’Università della California a Berkeley.

Completati gli studi, dopo aver trascorso un periodo presso la Stanford University come associato, ritorna a Zurigo dove va ad insegnare proprio all’ETH, restandovi fino al suo pensionamento (1999). Durante la sua attività di docente/ricercatore/programmatore, trova il tempo di prendendosi due pause (1976 e 1984) per andare in California a collaborare con il prestigioso Xerox PARC di Palo Alto.

Non stupisce, quindi, che Wirth sia diventato un luminare del settore, guidando la progettazione di linguaggi di programmazione, compilatori, sistemi operativi e sistemi hardware, tenendo sempre ben presente un obiettivo centrale: la ricerca della semplicità.

wirth_algorithms_and_data_structures Tale obiettivo è ben evidenziato negli articoli di settore e nei diversi libri di cui è autore, tra cui: “Algoritmi + Strutture Dati = Programmi” e “Principi di Programmazione Strutturata”.

Impressiona scorrere l’elenco ufficiale dei linguaggi di programmazione che Wirth ha partorito:

  • Euler (1965), realizzato con Helmut Weber come estensione dell’ALGOL 60, rispetto al quale semplifica e migliora la gestione dei dati;
  • ALGOL W (1966), realizzato con Tony Hoare sempre sulla base dell’ALGOL 60, ma pensato per eliminarne i difetti strutturali piuttosto che semplificarlo. L’ALGOL W sarà la base per il linguaggio Pascal;
  • Pascal (1970) è il vero capolavoro di Wirth. Nato per scopi didattici, diventa estremamente popolare, introducendo la programmazione strutturata e le strutture dati. In breve tempo diventa il riferimento mondiale per l’apprendimento delle basi della programmazione;
  • Modula (1975) nasce come evoluzione del Pascal, a cui aggiunge il concetto di modulo, ovvero un contenitore di dati e procedure. Il Modula non verrà mai rilasciato ufficialmente;
  • Modula-2 (1978) nasce sulle ceneri di Modula e incorpora il concetto di incapsulamento all’interno dei moduli, divenendo una sorta di precursore dei linguaggi ad oggetti;
  • Oberon (1986) nasce dalla necessitò di Wirth di creare un linguaggio object-oriented per la scrittura dell’omonimo sistema operativo, specifico delle workstation Ceres e Chamaleon;
  • Oberon-2 (1991) è una completa riscrittura di Oberon con l’aggiunta di funzionalità come reflection ed altre facility relative al mondo object-oriented;
  • Oberon-07 (2007) è il successore di Oberon e non di Oberon-2 ed è l’ultimo linguaggio ufficialmente promosso da Wirth.

Nel 1984 il professore è stato insignito del Premio Turing, uno dei più alti riconoscimenti del settore, a cui si affiancano ben cinque dottorati ad honorem e numerosi altri riconoscimenti da università ed associazioni.

Chiudiamo questo appuntamento con una delle più celebri frasi di Wirth:

Nella nostra professione, precisione e perfezione non sono un lusso superfluo, sono un semplice bisogno

2 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    TheFoggy
     scrive: 

    Nel 1997 iniziai l’ITIS, convinto di fare perito chimico. Poi iniziarono le esercitazioni di matematica, a base di Turbo Pascal. Mi appassionai così tanto, che nel giro di un anno, decisi di cambiare rotta e puntare a perito informatico e ora sono quasi ingegnere informatico. Il Pascal, con la sua estrema semplicità, permette davvero a chiunque di approcciarsi alla programmazione e di capire se “ciò fa per lui”. Soprattutto, si presta alla riscrittura quasi 1:1 dei classici schemi di flusso, diagrammi odiati ai tempi del primo anno di specializzazione, ma apprezzati poi in seguito (in quanto aiutavano con gli automatismi). Ovvio, il Pascal ha dei limiti “importanti” nella programmazione più efficiente, però per la didattica, credo sia tutt’ora il migliore. (ho ancora le librerie che io e un amico avevamo scritto per avere finestre con titolo, finestre con divisione verticale e/o orizzontale, la gestione dei menù con evidenziazione dell’opzione selezionata e mille altre procedure “grafiche” utili! Che non potevamo usare, in quanto la prof non era in grado di raccapezzarvici…questo è stato il più grande limite del mio istituto superiore, purtroppo…)

  • # 2
    Cesare Di Mauro
     scrive: 

    Ho fatto un percorso simile, sebbene abbia iniziato il terzo superiore dell’ITIS nell’86, e ovviamente all’epoca c’era il Turbo Pascal… 3.0!

    Fu un vero colpo di fulmine, per me che provenivo da BASIC + linguaggio macchina/assembly delle macchine Commodore dell’epoca (Plus 4 prima, 128 poi). Un ambiente integrato comodo, ma soprattutto un linguaggio nettamente “superiore”, che ancora oggi apprezzo moltissimo, come poi imparai ad apprezzare anche il Modula-2 su Amiga.

    Di questo devo ringraziare proprio Wirth, che è stato ed è un grande designer di linguaggi di programmazione.

    E grazie anche a Felice, per questo splendido articolo. :)

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.