100 likes | 274 Views
F#, il linguaggio funzionale-imperativo. Antonio Cisternino Ricercatore Dipartimento di Informatica Università di Pisa. Agenda. Il linguaggio F# Il toolset Demo F# bits F# interactive VSLab Applications and performances. F#. F# nasce come un port del linguaggio OCaml per .NET
E N D
F#, il linguaggio funzionale-imperativo Antonio Cisternino Ricercatore Dipartimento di Informatica Università di Pisa
Agenda • Il linguaggio F# • Il toolset • Demo • F# bits • F# interactive • VSLab • Applications and performances
F# • F# nasce come un port del linguaggio OCaml per .NET • Don Syme lavora su un’estensione all’IL, ILX, per supportare l’interoperabilità tra linguaggi funzionali • Introduce nel mainstream della programmazione concetti studiati per 20 anni nell’accademia
Caratteristiche • Type-inference • Stile di programmazione funzionale-imperativo • Influenzato da Haskell • Supporto per la meta-programmazione • Supporto OOP completo e diverso da OCaml • Integrazione completa in .NET • Il patten matching
Il toolset • Integrazione in Visual Studio completa di IntelliSense • Type inference integrata nell’editor • Debugger .NET • F# Interactive!!! • Esecuzione da command line • Supporto per Mono
Demo F#, il linguaggio funzionale-imperativo
Applicazioni • Unmutable state -> concorrenza • Facilità di esprimere formule matematiche -> Scientific Computing • Interattività -> Scripting e system management
F# on mono http://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php
Conclusioni Per la prima volta dai tempi di Java ho guardato un linguaggio ed ho realizzato che era un salto, che non avrei più programmato volentieri in linguaggi usati fino ad allora e che mi sembravano molto espressivi. F# è l’anello mancante tra i linguaggi compilati e quelli dinamici. Antonio CIsternino