Linguaggi di programmazione, una segnalazione

cs212b

Cosa non si trova nel Web! Io poi che non ho fatto la scuola giusta; cioè no, nel senso di sì, ho fatto la scuola giusta ma non quella che avrei voluto, quella per programmatori. Anche perché illo tempore i ‘puters erano molto diversi da quelli di adesso. E anche misteriosi: il primo che ha girato un mio programma non l’ho mai visto; scrivevi il programma (controllando bene), perforavi le schede nell’orario prefissato, avevi diritto a un tempo massimo che era –secondo il me di allora– troppo sotto il minimo ma –secondo il me di adesso– troppo grande; consegnavi il tutto al responsabile e tornavi dopo un paio di giorni; se era tutto OK ti ridava le schede e un paio di fogli di tabulato con il listato e l’output; se andava male l’output era una serie di scritte misteriose. Solo Fortran IV (1966).

Oggi invece –beh lo sapete tutti.
Vero che non devo dirvi nemmeno di Twitter che è come un party dove ci vai perché ti porta un amico che poi ti presenta gente che a loro volta, se vuoi, puoi conoscere, stai a sentire cos’hanno da dire, conosci altri –tutti più hyper-über-smart di te. Ovvio che c’è anche ci fa gossip, parla di calcio, dei marò, … Ma puoi scegliere.
Io per esempio seguo diversi hyper-über-smart molto più bravi di me. E recentemente ho trovato il prof Eugene Wallingford dell Università dell’Iowa (chissà dov’è quella roba lì?).

E pensa te –meravigliosa meraviglia qui– il prof mette online il corso CS3540 Programming Languages and Paradigms.

Chissà se posso sbirciare un pochino; se non se ne accorgono e mi cacciano a calci in cu quel posto là urlandomi che mi denunciano (chissà se capirei l’iowese?).

La prima lezione è OK, non mi hanno cacciato, insisto.
La seconda è ancora meglio: Learning a New Language: Racket.
Uh! la combinazione: Racket 😀 il mio nuovo linguaggio preferito (pari merito con altri Nmila, anzi un po’ di più di tutti gli altri). OK, c’era da aspettarselo, con Twitter ti autoselezioni i follower esaminando i followabili retwittati da chi già segui.

La faccio breve: conto di fare tutta la classe tutto il corso.
Inoltre nella seconda lezione ho trovato tante cose ma una in particolare mi ha incuriosito tanto da proporre su Facebook e Google Plus una domanda, questa:

Domanda per tutti ma in particolare per i mate:
da noi si fa così
  3 +
  5
 --
  8

mentre altri fanno così:
  3
+ 5
 --
  8

perché?
Perché io sarei con gli altri?
Sono solo io?
OK, è una domanda multipla, forse senza senso. Ma forse...
Chissà cosa ne pensano [segue elenco]

Si vede che la domanda era troppo vaga, sempre che avesse un senso; c’è stato chi si è avvicinato (MfM, Marco) ma non so se quello che dice Eugene (posso chiamare così il prof, non è che mi fa cacciare?) è condivisibile:

The prefix notation that Scheme uses has several advantages over other notations, such as infix:

Using prefix notation, we can have an arbitrary number of arguments without repeating the operator. For example, it is easy to write (+ 3 4 8 6 5 4 7 6 5 8 9) using prefix notation. In other notations, this expression would be longer and involve 11 – 1 = 10 operator symbols. (And, even worse, perhaps ten separate evaluations!) This, despite the fact that children as young as second grade learn how to operate on multiple values as a single operation:

               3
               4
               8
               6
               5
               4
               7
               6
               5
               8
             + 9
             ---
              65

Ecco, è vero? Fuori dal Lisp intendo. Cioè se scrivo la mia espressione così diventa più chiara l’operazione? Chiedo anche se questa può sembrare tutta una manfrina per propagandarvi Racket.
Ah! Racket viene aggiornato costantemente, per esempio l’operazione complicata portata come esempio restituisce il valore indicato dal prof nella REPL

repl

ma nell’IDE ottengo

Ge

e sì, proprio così:

repl2

:mrgreen:

Posta un commento o usa questo indirizzo per il trackback.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: