In questa pagina viene raccolto del materiale aggiuntivo al corso di Linguaggi di Programmazione (la cui pagina ufficiale si trova qui).
Anzitutto, a livello motivazionale consiglio di leggere Why Study Principles of Programming Languages? di Bob Harper.
Per quello che riguarda libri di testo, ci baseremo su slides e appunti. Per approfondimenti, un qualsiasi manuale su Scala è più che sufficiente (potete trovarne alcuni tra i migliori qui).
A lezione abbiamo menzionato alcun testi che (secondo me) meritano di essere letti (almeno parzialmente):
Practical Foundations for Programming Languages, di Robert Harper.
Questo è un libro di teoria, e dà una buona panoramica della teoria matematica dietro i linguaggi di programmazione. Uno dei suoi punti di forza è l'accento sul carattere metodologico dietro lo studio della teoria dei linguaggi (giudizi in stile Martin-Lof, semantica statica e dinamica, equivalenze osservazionali etc...).
Se siete interessati all'argomento potete vedere i video delle lezioni tenute all'OPLSS da Bob Harper e Dan Licata.
Testo molto bello. Stesso taglio del libro di Robert Harper. Si concentra meno sugli aspetti metodologici, ma compensa con spiegazioni chiarissime e dettagliate.
Nel modulo di programmazione funzionale utilizziamo il linguaggio Scala. Lo studente interessato può vedere i corsi tenuti da Odersky e i suoi collaboratori su Coursera. Il focus è sulla programmazione funzionale con Scala, e tutti i corsi sono interamente accessibili gratuitamente.
Altro MOOC interessante (che consiglio caldamente), è quello di Dan Grossman Programming Languages (Part A, B, C), sempre disponibile gratuitamente su Coursera. La Parte A è dedicata allo studio della programmazione funzionale utilizzando il linguaggio Standard ML. La Parte B utilizza invece il linguaggio Racket, mentre la Parte C si focalizza su Ruby.
Altri MOOC che potrebbero interessare sono quelli su OCaml, offerto dall'università Paris-Diderot, su Haskell (Università di Glasgow), e un corso su Haskell tenuto da Erik Meijer su Channel 9.
Channel 9 offre molti video interessanti. In particolare, consiglio le conversazioni con Brian Beckman.
Online si trovano anche molti video interessanti tenuti da Odersky su Scala. Ad esempio, chi non fosse ancora convinto dei vantaggi derivanti dall'utilizzare Scala può guardare Working Hard to Keep It Simple.