Haskell è il più noto linguaggio di programmazione funzionale. E’ un linguaggio di programmazione funzionale pura. Che significa che il suo funzionamento è paragonabile alle funzioni in matematica (passateci il gioco di parole…) e non ammette effetti collaterali in modo come lo fanno la maggior parte dei linguaggi di programmazione, ma questo può essere fatto solo nelle condizioni rigidamente controlate, strettamente verificabili e con elevata predittività degli esiti di elaborazione.
Essendo un linguaggio di programmazione funzionale, Haskell è basato sul paradigma di programmazione dichiarativa, cosa che, unita alla sua sintassi e semantica, lo rende uno dei linguaggi più ideali per utilizzare la semantica denotazionale per le verifiche formali della correttezza del codice e aderenza alle specifiche funzionali, per ridurre al minimo, per non dire rimuovere completamente, i bug.
Conoscere Haskell non è importante solo per quegli sviluppatori che intendono basare (parte del) proprio percorso professionale e lavorativo su questo linguaggio. Conoscere Haskell è utile a tutti i programmatori, a prescindere dal linguaggio che utilizzano abitualmente per svolgere le loro attività lavorative. Haskell insegna bene come separare la logica applicativa dallo strato di interazione con utenti, come separare l’elaborazione pura dagli effetti collaterali. Un programmatore che si rende fluente in Haskell, diventa programmatore migliore anche in tutti gli altri linguaggi, compresi i linguaggi più tradizionali e notoriamente imperativi.
A tutte quelle aziende che vorrebbero rendere i propri programmatori pià produttivi, che scrivono codice migliore, più leggibile e manutenibile, non possiamo che raccomandare um corso di Haskell avanzato.