F#

f# è, secondo la nostra opinione, uno dei migliori linguaggi di programmazione mai prodotti dalla Microsoft. Nato inizialmente con l’ obiettivo di portare sul .NET Framework un linguaggio funzionale, snello ed efficace, in modo da unirsi alla schiera dei linguaggi che adottando il paradigma di programmazione funzionale e che permettono la programmazione veloce ed efficace, sfruttando appieno la potenza dei moderni processori multi core.

Questo è soprattutto dovuto al fatto che la Microsoft ha deciso di “liberarlo”, aprendo i codici sorgente e rendendolo codice libero.

E’ stata così creata anche un’apposita Fondazione F# che, con un enorme supporto da parte della Microsoft, si prende cura degli ulteriori sviluppi ed evoluzioni del linguaggio.

F# ha attinto alle idee implementate in OCaml. Anche la sintassi di F# è, in gran parte, basata su quella di OCaml. OCaml è uno dei più efficaci (pur rimanendo semplice) linguaggi di programmazione funzionale. Vi consigliamo di dare un’occhiata anche a questo, seguendo i collegamenti indicati.

Dopo la sua “liberazione”, F# ha immediatamente trovato il suo posto anche sul framework Mono, la prima libera reimplementazione di .NET Framework. Con il passare degli anni, anche la Microsoft ha creato un’implementazione libera, la .NET Core.

Oltre al paradigma di programmazione funzionale, F# implementa anche altri paradigmi, in primo luogo quello imperativo e orientato agli oggetti. Del resto, essendo nato nel mondo .NET, non poteva essere diversamente, dato che devono essere supportate le funzionalità del framework, il CLR e le connesse librerie di programmi.

Oltre a girare sul .NET, generando il bytecode CLI, l’evoluzione di F# ha apportato la possibilità di poter generare il codice JavaScript e il codice binario per le GPU. Oggi un’azienda può basare l’intera infrastruttura informatica, a tutti i livelli, su F#.

Per il momento, il nostro corso tratta solo la programmazione su framework Mono. Se avete bisogno di qualcos’altro, valuteremo l’ eventuale possibilità di una soluzione.