Haskell
Haskell è un linguaggio di programmazione puramente funzionale in grado di realizzare una vasta gamma di compiti in maniera perfetta e razionalizzato.
- Un linguaggio di programmazione puramente funzionale con una vasta gamma di applicazioni
- Supportato da un numero enorme di pacchetti
- Costruito con programmazione concorrente in mente
- pura funzionalità significa che può servire come il coltellino svizzero di linguaggi di codifica
- Astrazione significa meno bisogno di imparare regole di sintassi o bizantine complessi
- Refactoring è molto più facile che con un linguaggio OO
- Fa quasi tutto bene, ma non offre la funzionalità mirata dei linguaggi più specializzati
- Le prestazioni non è buono come linguaggi C puri o Java
Ci sono un numero apparentemente illimitato di linguaggi di programmazione in giro, e può essere difficile capire che uno è l'ideale per il vostro progetto. Può essere incredibilmente frustrante per farlo a metà strada in un progetto prima di rendersi conto che le peculiarità uniche di un linguaggio stanno lavorando contro i vostri interessi, e significa successo sovvertire la sintassi e la creazione di poco maneggevole se soluzioni creative piuttosto che essere in grado di fiducia che la lingua ha funzioni puliti che servono le vostre esigenze specifiche. La forza di Haskell entra nella sua flessibilità e la semplicità della sua sintassi. Dove molti altri linguaggi specializzati in particolari tipi di sviluppo, Haskell serve come un cavallo di battaglia a tutto tondo, e la sua sintassi ha una logica semplice ma potente che rende Haskell facile da salire e saltare a destra in. Uno dei punti di forza alla base di Haskell è che si tratta di un linguaggio puramente funzionale. Ciò significa che è matematicamente pura, e una volta a capire i principi della lingua, è possibile prevedere con precisione ciò che ogni linea di codice farà. Non ci sono peculiarità, e Haskell lavora esclusivamente con le espressioni. Non dovete preoccuparvi di mutare lingua o le difficoltà complicate che provengono dalla combinazione di diverse classi di variabili. Dal momento che non stanno mutando variabili, c'è una coerenza in tutto il codice, che rende più facile per i nuovi sviluppatori di entrare, capire, e aggiornare il vostro codice, una necessità nella maggior parte dei progetti di programmazione moderni. A differenza di programmazione orientata agli oggetti, in cui viene utilizzato un linguaggio sostanzialmente inventato per integrare codice grezzo che un computer analizza, si rimuove tutto fino al nucleo, rimuovere la barriera tra linguaggio umano e linguaggio macchina più efficacemente rispetto a molti altri quadri di programmazione. Questa filosofia di semplice e di codice matematico può essere riflessa nel modo in cui gestisce i costrutti di controllo Haskell. A differenza di un linguaggio come Python, dove si hanno diverse variabili che denotano valori e valutatori, Haskell ha valutatori. Attraverso queste funzioni pigri, è possibile comprimere insieme altrimenti molto complicato se poi catene, e la maggior parte dei programmatori sanno che il più semplice un argomento è, minore è il rischio di errori lungo la strada. Naturalmente, un linguaggio in ultima analisi, vive e muore sulle sue confezioni. La progettazione di ogni singolo aspetto del vostro progetto da zero è uno sforzo senza senso e costoso, e ogni coder tratta di affidarsi a scorciatoie per raggiungere in modo efficace i loro risultati finali. Haskell ha una comunità di sviluppo espansivo ed entusiasta, e ci sono più di 6000 pacchetti gratuiti prontamente disponibili. Questi tutto coperchio dalla analisi statistica e la gestione dei server web per la compressione zip e codifica del testo. Dal momento che così molte delle funzionalità di Haskell si limita ai suoi pacchetti, si può semplicemente importare le funzioni che sono importanti per voi e compartimenti stagni componenti del progetto. E la logica di base che i mezzi di sintassi unità di Haskell che indipendentemente dal pacchetto di importare, si può imparare i pro ei contro di esso molto rapidamente.