F# – F Sharp

F# Introduzione

Questo non vuole essere un corso vero e proprio di F# ma più che altro delle note su quello che è il codice di questo linguaggio, che sta cominciando a prendere piede sempre di più.
Queste pagine nascono del fatto che girando in internet c'è veramente poco materiale su questo linguaggio, quindi spero di poter arricchire sempre di più questo argomento.

F# o FSharp è un linguaggio che appartiene alla famiglia .Net di Microsoft e i suoi utilizzi spaziano da "Windows Form" fino ad applicazioni lato server di siti web o database. Il suo ambiente di sviluppo migliore è Visual Studio, ma può essere usato anche su Linux tramite Mono. E' un linguaggio di tipo Funzionale il che significa che l'idea di base per programmare sono le funzioni.

Il risultato di una funzione non può essere influenzata dall'esterno e a sua volta una funzione non può modificare indirettamente il risultato di un'altra funzione. Questo porta ad un concetto totalmente diverso di programmare rispetto ad un linguaggio imperativo come C++ o C#, perché il concetto di variabile non esiste più.

Nella programmazione funzionale infatti non esistono variabili ma identificativi che, una volta legati ad un valore, non possono più essere modificati. Grazie alla caratteristica di immutabilità, i linguaggi funzionali trattano qualsiasi identificativo come un valore, comprese le funzioni stesse. Questo permette alle funzioni di essere passate come argomento ad altre funzioni, e di restituire a loro volta delle funzioni.

Il metodo migliore in assoluto per capire questi concetti è quella di buttarsi a capofitto nella programmazione e scrivere e riscrivere righe di codice, provando formule e funzioni più conosciute ma anche di inventarcene di nostre, questo è il bello della programmazione!

 

Ambiente di sviluppo

Il codice di F# deve essere compilato prima di essere eseguito e l'ambiente di sviluppo che lo supporta meglio è senz'altro Visual Studio (attualmente alla versione 2017), ne esistono 3 versioni

  •  Community  2017
  •  Professional 2017
  •  Enterprise    2017

 

La versione Enterprise è la versione più completa per team di sviluppo, mentre la versione Professional è stata pensata per singoli programmatori o per un piccolo team di sviluppo, queste 2 versioni sono a pagamento, mentre la versione Community non è a pagamento ed è liberamente scaricabile da questa pagina. Se volete approfondire le differenze tra le varie versioni vi rimando alla pagina del confronto dove sono specificate tutte le varie caratteristiche.

Una volta scaricato e installato scoprirete subito l'ampio campo di utilizzo di questo ambiente di sviluppo, C++, C#, Asp.Net, Visual Basic, SQL Server, JavaScript e chi più ne ha più ne metta! Se non avete installato le librerie F# in fase di installazione, avviate Visual Studio Installer e dopo aver raggiunto Singoli Componenti, spuntate le 3 caselle descritte nell'immagine sotto.

 

 

 

Visual Studio fornisce un metodo molto comodo per eseguire al volo il nostro codice, un prompt interattivo attivabile tramite il menu  View  →  Other Windows  →  F# Interactive.
Una volta aperto il prompt interattivo possiamo scrivere direttamente lì il nostro codice e quando abbiamo finito ci basterà digitare  ;;  seguito da Invio, e il codice sarà eseguito. Ovviamente in questa maniera il codice non viene salvato e appena chiudete il programma perdete tutto, vedremo in seguito come salvare il nostro codice.