ASPETTI AVANZATI DEI LINGUAGGI DI PROGRAMMAZIONE A.A.2016-2017


Avvisi

Temi per possibili approfondimenti:

  • Analisi delle varianti tipiate di JavaScript: Scala.js e TypeScript.
  • Il modello ad attori nei linguaggi di programmazione: Akka.js, Go Actor model Framewrk, Hopac library per F#.
  • Analisi del linguaggio Rust, che combina efficienza e type safety.
  • Analisi del linguaggio Picat per la programmazione logica (e non solo).
  • Studio della Reactive Extension di Java(8) o di altri linguaggi.
  • Studio degli Akka Streams.
  • Sudio di linguaggi di programmazione probabilistici.
  • Analisi tecnica e sociale delle tecnologie legate alle blockchain.


  • Appunti delle lezioni

    Introduzione e programma del corso
    The top programming languages 2016 according to IEEE Spectrum
    Appunti lezione del 06/10
    Appunti lezione del 11/10
    Appunti lezione del 13/10
    Appunti lezioni del 18 e 20/10
    Appunti lezione del 25/10
    Appunti lezione del 27/10
    Appunti lezione del 3/11
    Appunti lezione del 8/11
    Appunti lezione del 10/11
    Appunti e Note della lezione del 15/11
    Appunti e Note della lezione del 17/11
    Slides lezione del 22/11
    Slides lezione del 24/11
    Slides lezione del 29/11
    Slides lezione del 1/12
    Slides lezione del 5/12
    Slides lezione del 13/12
    Slides lezione del 15/12
    Slides lezione del 15/12
    The code I'm still ashamed of
    Code of Ethics ACM: pagina web, Making a positive impact: Updating the ACM Code of Ethics Communications of the ACM, Dicemebre 2016.
    The three laws of robotics in the age of big data Jack M. Balkin - Yale University - October 2016

    Testi e materiale di approfondimento
  • Why Study Principles of Programmin Languages? R. Harper

  • The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software. H. Sutter
  • Computer Languages Timeline
  • The role of concurrency in an evolutionary view of programming abstractions.S. Crafa. Journal of Logical and Algebraic Methods in Programming 84:732-741 (2015)

  • Practical Foundations for Programming Languages. Robert Harper, edito da Cambridge Press. Online available preview

  • Types and Programming Languages. B.C. Pierce, edito da MIT Press. Disponibile in biblioteca.

  • Null References: The Billion Dollar Mistake T. Hoare. QCon conference, London 2009

  • Programming in Scala. M.Odersky, L.Spoon, B.Venners. Artima ed. Disponibile in biblioteca