Haskell - Panoramica
Haskell è un linguaggio di programmazione funzionale che è stato appositamente progettato per gestire il calcolo simbolico e le applicazioni di elaborazione di elenchi. La programmazione funzionale si basa su funzioni matematiche. Oltre ad Haskell, alcuni degli altri linguaggi popolari che seguono il paradigma della programmazione funzionale includono: Lisp, Python, Erlang, Racket, F #, Clojure, ecc.
In conventional programing, le istruzioni sono prese come un insieme di dichiarazioni in una sintassi o formato specifico, ma nel caso di functional programing, tutto il calcolo è considerato come una combinazione di funzioni matematiche separate.
Diventare funzionale con Haskell
Haskell è un linguaggio puramente funzionale ampiamente utilizzato. Qui, abbiamo elencato alcuni punti che rendono questo linguaggio così speciale rispetto ad altri linguaggi di programmazione convenzionali come Java, C, C ++, PHP, ecc.
Functional Language- Nel linguaggio di programmazione convenzionale, istruiamo il compilatore su una serie di compiti che non sono altro che dire al tuo computer "cosa fare" e "come fare?" Ma in Haskell diremo al nostro computer "cos'è?"
Laziness- Haskell è un linguaggio pigro. Dilazy, intendiamo che Haskell non valuterà alcuna espressione senza alcun motivo. Quando il motore di valutazione rileva che un'espressione deve essere valutata, crea un filethunk data structure raccogliere tutte le informazioni richieste per quella specifica valutazione e un puntatore a quella thunk data structure. Il motore di valutazione inizierà a funzionare solo quando sarà necessario valutare quella specifica espressione.
Modularity- Un'applicazione Haskell non è altro che una serie di funzioni. Possiamo dire che un'applicazione Haskell è una raccolta di numerose piccole applicazioni Haskell.
Statically Typed- Nel linguaggio di programmazione convenzionale, dobbiamo definire una serie di variabili insieme al loro tipo. Al contrario, Haskell è un linguaggio strettamente digitato. Con il termine linguaggio Strictly Typed, si intende che il compilatore Haskell è abbastanza intelligente da capire il tipo di variabile dichiarata, quindi non è necessario menzionare esplicitamente il tipo di variabile utilizzata.
Maintainability - Le applicazioni Haskell sono modulari e quindi è molto facile ed economico mantenerle.
I programmi funzionali sono più concorrenti e seguono il parallelismo nell'esecuzione per fornire prestazioni più accurate e migliori. Haskell non fa eccezione; è stato sviluppato in modo da gestiremultithreading effettivamente.
Ciao mondo
È un semplice esempio per dimostrare il dinamismo di Haskell. Dai un'occhiata al seguente codice. Tutto ciò di cui abbiamo bisogno è solo una riga per stampare "Hello Word" sulla console.
main = putStrLn "Hello World"
Una volta che il compilatore Haskell incontra la parte di codice sopra, fornisce prontamente il seguente output:
Hello World
Forniremo molti esempi in questo tutorial per mostrare la potenza e la semplicità di Haskell.