Cose importanti da sapere sul linguaggio di programmazione Haskell

Sommario:

Anonim

Linguaggio di programmazione Haskell - Potresti aver letto molte lingue. Ma quando senti parlare di Haskell, la prima cosa che mi viene in mente è "Ecco che arriva un altro linguaggio chiamato aspirante". La prima domanda che mi viene in mente è; PERCHÉ? Perché c'è bisogno di così tante lingue? Perché deve essere così difficile? Perché python o Ruby sono così facili, rispetto a C o Java? E che diamine è Haskell?

Non ti preoccupare. Sono qui oggi per rispondere a tutte le vostre domande. Ma prima di tutto, cos'è Haskell? Normalmente, non troverai molte persone che imparano o parlano di questa lingua. Il motivo è che Haskell non è così semplice come C o Python. SÌ! Ho detto C. Sono programmatore di C da 4 anni e lo trovo davvero molto interessante. Ma non è lo stesso caso con Haskell.

Ho imparato Haskell perché lo trovo molto stimolante a differenza di C o Python.Python è un linguaggio estremamente fantastico e molto flessibile. Puoi quasi fare tutto quello che vuoi con quello. La tua immaginazione è solo il limite in Python. Ora, invece di vantarmi di Python, cominciamo con Haskell. Perché, è per questo che siamo qui, giusto?

Ma prima di continuare a leggere, lasciami avvisare. Questa lingua non è per principianti; almeno non per principianti assoluti. Se non hai alcuna esperienza precedente nella programmazione, Haskell ti darà la sensazione di ROCKET SCIENCE. E questo è in grassetto. I programmatori lo capiranno.

Il linguaggio di programmazione Haskell è un linguaggio funzionale puro. O il termine appropriato sarebbe matematico. Chiunque ami la matematica si sentirà estremamente a suo agio con la programmazione dinamica di Haskell, specialmente con i teoremi.

Ma cos'è la programmazione funzionale?

Per essere più specifici, nel linguaggio di programmazione funzionale il metodo di calcolo originale è l'introduzione di funzioni agli argomenti. Oltre ad altre funzionalità fornite da questi tipi di linguaggi, la programmazione funzionale offre un metodo estremamente piccolo e compatto per la codifica dei programmi, inclusi metodi di astrazione di grandi dimensioni per strutturarli, e ha bisogno di una mentalità che sappia come muoversi lungo la strada per la matematica che supporti il ​​ragionamento per i programmi, in qualche modo simile ai teoremi.

Questo tipo di linguaggi sta conducendo nello sviluppo della progettazione del linguaggio di programmazione. Tutti gli altri linguaggi di programmazione come PHP, Basic, C ++, Java Python, Ruby, JavaScript e Scala; tutte queste sono programmazioni di alto livello che esprimono espressioni o chiusure lambda.

I linguaggi funzionali puri introducono strutture completamente immutabili e queste funzioni non hanno alcun tipo di effetti collaterali. Ciò che fa questa funzione è che prende tutte le strutture immutabili insieme come una sorta di input e quindi crea una nuova struttura simile all'output dato.

Esempi di aggiunta di numeri interi in:

Pitone:

>>>a=2

>>>b=3

>>>a+b

>>>5

C ++:

template

struct add (

static constexpr int value = x + y;

);

int main() (

auto z = add::value;

std::cout << z << std::endl;

return 0;

)

Haskell:

add :: Int -> Int -> Int

add de = d + e

main :: IO ()

main = do

let f = add 1 2

putStrLn $ show f

Haskell è in realtà un fantastico linguaggio di programmazione. La matematica è estremamente complicata e diretta al punto diversamente da altri, dove i programmi non possono essere dimostrati corretti e nella maggior parte dei casi, qui, a Haskell, possono farlo e, se compilati, funzioneranno senza problemi. Ciò tuttavia introduce nuove sfide.

Diciamo, ad esempio, non è possibile modificare nemmeno una singola var qui (var significa variabile). La ricorsione è la chiave di tutto qui. Ma non devi preoccuparti. Una volta capito, ti sentirai davvero a casa a scrivere applicazioni in Haskell. L'unica parte di cui dovresti preoccuparti è quando ho detto "Se si compilano". Hehehe …, questa è la parte più difficile di Haskell: "Compilare".

Corsi consigliati

  • Corsi di formazione XML
  • Corsi di formazione per esami CCNA
  • Corso SO UNIX e Linux
  • Corso HTML 5 online

Perché il linguaggio di programmazione Haskell?

Per quanto riguarda la domanda di cui sopra, chiedo: "Perché no?" Haskell è fondamentalmente una buona lingua da imparare. Qui, il tuo codice è semplice e autonomo. Non ci sono problemi o rientri inutili qui. Il linguaggio di programmazione Haskell funziona bene anche con le idee. Con una discreta esperienza puoi scrivere programmi in formati di programmazione sia di alto livello che di basso livello.

In un posto dove Haskell è un ottimo modo per imparare la matematica, viceversa, è anche potente per la programmazione parallela in haskell che ti dà un buon controllo sui tuoi algoritmi su come i tuoi tipi sono strutturati in memoria . Il più delle volte, le persone privano il linguaggio di programmazione Haskell avanzato perché sembra troppo basso livello, ma se dai un'occhiata alla sua nota positiva, questo dimostra che la programmazione funzionale di Haskell ha le caratteristiche scalabili di basso e alto livello.

Haskell è un buon inizio per imparare come prima lingua. Molti ostacoli che le persone affrontano quando apprendono l'Haskell arrivano perché sono troppo abituati ad altri linguaggi di alto livello come Python o Ruby, ma la cosa è che il linguaggio di programmazione Haskell è troppo diverso da loro. Pertanto, se non sai nulla della programmazione, non avrai problemi ad apprenderla come prima lingua.

È anche molto più facile passare da Haskell a imparare qualcos'altro piuttosto che fare il viceversa. Ora potresti pensare che all'inizio ho detto che questa lingua non è per principianti. Sì, l'ho detto perché volevo assicurarmi di non perdere 30 minuti a leggere questo. Se hai già investito così tanto tempo nella lettura di Haskell, significa che hai una forte determinazione a imparare. Ed è quello che ti serve per imparare questa lingua.

I contro

Haskell è una lingua fantastica, ma come tutte le altre lingue, Haskell Programming Langauge ha i suoi tratti propri. Ad esempio, gli strumenti, i messaggi di errore e il modo in cui è costruito il suo sistema sono tutti più complessi di quanto debbano essere. Se lavori in GHCi, noteresti sicuramente che i messaggi di errore non sono così utili qui come lo sono in Python, Golang o Scala.

Per non parlare del fatto che parte di questo è attualmente in fase di elaborazione. La piattaforma Haskell è piccola e facile da installare. Haskell, d'altra parte, offre un'esperienza REPL più stabile. La gestione dei pacchetti qui ha una notevole quantità di modifiche recentemente e stanno ancora migliorando. Anche gli Emacs otterrebbero presto anche molti miglioramenti e nuove funzionalità.

Anche se haskell sembra troppo duro come lingua per principianti, ma una volta che hai le basi giuste, in realtà è facile migrare verso lingue di basso livello o lingue di alto livello a causa delle sue caratteristiche altamente flessibili, a differenza del caso di lingue come Python o perl, se lo impari prima, probabilmente non penserai mai di imparare un linguaggio di basso livello a causa della sua struttura di codice alienata.

Haskell, è una lingua considerevolmente grande da imparare in dettaglio. In generale, direi che l'Haskell è un'ottima prima lingua da imparare. L'unica parte degna di preoccupazione è che potrebbe essere necessario uno sforzo maggiore per iniziare e continuare su base costante a causa dei problemi con i suoi strumenti, soprattutto se si desidera creare un programma interessante.

Se avessi l'obiettivo di insegnare il linguaggio di programmazione Haskell alle persone, avrei fatto uno sforzo maggiore per rendere la procedura di installazione più indolore. È necessario disporre di un set adeguato di moduli, installata la versione corretta in modo che abbiano configurato correttamente GHCi per compilare i problemi.

Imparare il linguaggio di programmazione Haskell significa che devi pensare in modo funzionale. Molti nuovi linguaggi di programmazione consentono lo stile funzionale della programmazione, ma la maggior parte degli sviluppatori non sfrutta appieno queste funzionalità, poiché pensano in un modello più orientato agli oggetti, la ragione per cui il loro background deriva dall'apprendimento del C o del C ++.

La domanda più attesa

Ora, per la domanda più attesa … Quali sono gli usi pratici di Haskell?

Haskell è sicuramente molto utilizzato nel settore, ma non così comunemente come C # o Java. Quindi, se vuoi solo impararlo per aiutarti a ottenere lavori di programmazione haskell, potrebbe effettivamente essere una perdita di tempo. Un motivo migliore per imparare Haskell è familiarizzare con l'approccio di stile funzionale. Questo accadrà a un ritmo molto più veloce con Haskell che con un altro linguaggio funzionale come F # o Scala. Puoi anche controllare il mio prossimo blog su Haskell vs Scala per conoscere la differenza.

Questo motivo è dovuto al fatto che se diventi troppo irritato con lo stile funzionale, altre lingue hanno un'opzione per passare all'approccio orientato agli oggetti. Ma questo non è il caso di Haskell. Il linguaggio di programmazione Haskell ha un costrutto che ti obbliga a scrivere solo in stile funzionale poiché non è disponibile nessun altro approccio. L'ultima cosa che puoi fare è rinunciare a scrivere un'applicazione.

Conclusione

Il punto finale di questo intero blog è, se stai cercando un lavoro in Haskell; attendere fino a quando la NASA o la NSA iniziano ad assumere programmatori Haskell per principianti per lavoro. Sì! È così raro. Ma se stai imparando perché ti piacciono le sfide, allora Haskell è la strada giusta. Ti renderà il codice molto migliore in qualsiasi lingua.

Ti farà comprendere il problema in modo corretto, suddividerlo in parti appropriate e ridurre al minimo il bisogno di debug. Se stai imparando Haskell e anche alcuni altri linguaggi di programmazione, allora Haskell è il più adatto a te. Perché renderà un programmatore saggio.

Prima fonte di immagine: pixabay.com

Articoli Correlati:-

Ecco alcuni articoli che ti aiuteranno a ottenere maggiori dettagli sul linguaggio di programmazione Haskell, quindi passa attraverso il link.

  1. Vantaggi del linguaggio di programmazione dello schema
  2. Lingue di alto livello vs lingue di basso livello: come sono diverse
  3. Guida completa al linguaggio di programmazione dello schema
  4. La scelta migliore linguaggi di programmazione per l'apprendimento di algoritmi
  5. 10 cose interessanti sul linguaggio di programmazione Java
  6. Carriere nella programmazione R