Ce qu'il faut savoir sur le langage de programmation Haskell

Table des matières:

Anonim

Langage de programmation Haskell - Vous avez peut-être lu de nombreux langages. Mais quand vous entendez parler de Haskell, la première chose qui me vient à l'esprit est «Voici une autre langue dite wannabe». La première question qui me vient à l'esprit est; POURQUOI? Pourquoi faut-il autant de langues? Pourquoi faut-il que ce soit si difficile? Pourquoi python ou Ruby est-il si facile par rapport à C ou Java? Et qu'est-ce que c'est que Haskell?

Ne t'inquiète pas. Je suis ici aujourd'hui pour répondre à toutes vos questions. Mais d'abord, qu'est-ce que Haskell? Normalement, vous ne trouverez pas beaucoup de gens qui apprennent ou parlent cette langue. La raison en est que Haskell n'est pas aussi simple que C ou Python. OUI! J'ai dit C. Je suis programmeur pour C depuis 4 ans et je trouve ça très intéressant. Mais ce n'est pas le même cas avec Haskell.

J'ai appris Haskell parce que je le trouve très difficile contrairement à C ou Python. Python est un langage extrêmement génial et très flexible. Vous pouvez presque faire tout ce que vous voulez avec ça. Votre imagination n'est que la limite en Python. Maintenant, au lieu de me vanter de Python, commençons par Haskell. Parce que c'est pour ça que nous sommes ici, non?

Mais avant de continuer à lire, permettez-moi de vous AVERTIR. Cette langue n'est pas pour les débutants; du moins pas pour les débutants absolus. Si vous n'avez aucune expérience préalable en programmation, Haskell vous donnera la sensation de ROCKET SCIENCE. Et c'est en gras. Les programmeurs le comprendront.

Le langage de programmation Haskell est un pur langage fonctionnel. Ou le terme approprié serait mathématique. Toute personne qui aime les mathématiques sera extrêmement à l'aise avec la programmation dynamique de Haskell, en particulier avec les théorèmes.

Mais qu'est-ce que la programmation fonctionnelle?

Pour être plus précis, dans le langage de programmation fonctionnelle, la méthode de calcul originale est l'introduction de fonctions aux arguments. Parallèlement à d'autres fonctionnalités fournies par ces types de langages, la programmation fonctionnelle offre une méthode extrêmement petite et compacte pour coder les programmes, y compris de grandes méthodes d'abstraction pour les structurer, et elle a besoin d'un état d'esprit qui sait comment se diriger vers les mathématiques qui prend en charge le raisonnement pour les programmes, quelque peu similaire aux théorèmes.

Ce type de langages est à la pointe du développement de la conception de langages de programmation. Tous les autres langages de programmation tels que PHP, Basic, C ++, Java Python, Ruby, JavaScript et Scala; ce sont tous des programmes de haut niveau qui expriment des expressions ou fermetures lambda.

Les langages fonctionnels purs introduisent des structures entièrement immuables et ces fonctions n'ont aucun type d'effets secondaires. Ce que fait cette fonction, c'est qu'elle prend toutes les structures immuables ensemble comme une sorte d'entrée, puis crée une nouvelle structure similaire à la sortie donnée.

Exemples d'ajout d'entiers dans:

Python:

>>>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 est en fait un langage de programmation génial. Ses mathématiques sont extrêmement compliquées et directes, contrairement aux autres, où les programmes ne peuvent pas être prouvés comme étant corrects et dans la plupart des cas, ici, à Haskell, ils le peuvent, et s'ils compilent, ils s'exécuteront sans aucun problème. Cela introduit cependant de nouveaux défis.

Disons, par exemple, que vous ne pouvez pas changer même un seul var ici (var signifie variable). La récursivité est la clé de tout ici. Mais ne vous inquiétez pas. Une fois que vous aurez compris cela, vous vous sentirez vraiment chez vous en écrivant des applications dans Haskell. La seule partie où vous auriez besoin de vous inquiéter, c'est quand je dis: «S'ils compilent». Hehehe…, c'est la partie la plus délicate de Haskell: «Compiler».

Cours recommandés

  • Cours de formation XML
  • Cours de formation à l'examen CCNA
  • Cours UNIX et Linux OS
  • Cours HTML 5 en ligne

Pourquoi le langage de programmation Haskell?

Quant à la question ci-dessus, je demande: «Pourquoi pas?» Haskell est fondamentalement une bonne langue à apprendre. Ici, votre code est simple et autonome. Il n'y a pas de soucis ni de retraits inutiles ici. Le langage de programmation Haskell fonctionne également bien avec les idées. Avec une expérience décente, vous pouvez écrire des programmes dans des formats de programmation de haut niveau et de bas niveau.

À un endroit, où Haskell est un excellent moyen d'apprendre les mathématiques, inversement d'autre part, il est également puissant pour la programmation parallèle en haskell qui vous donne un bon contrôle sur vos morceaux d'algorithmes quant à la façon dont vos types sont structurés en mémoire . La plupart du temps, les gens privent le langage de programmation Haskell avancé car il semble trop bas, mais si vous regardez sa note positive, cela prouve que la programmation fonctionnelle Haskell a les caractéristiques évolutives de bas comme de haut niveau.

Haskell est un bon début pour apprendre la première langue. De nombreux obstacles rencontrés par les gens lorsqu'ils apprennent Haskell viennent parce qu'ils sont trop habitués à d'autres langages de haut niveau comme Python ou Ruby, mais le problème est que le langage de programmation Haskell est trop différent d'eux. Ainsi, si vous ne savez rien de la programmation, vous n'aurez aucun problème à l'apprendre comme première langue.

Il est également beaucoup plus facile de passer de Haskell à apprendre autre chose que de faire l'inverse. Maintenant, vous pensez peut-être qu'au début, je l'ai dit, cette langue n'est pas pour les débutants. Oui, je l'ai dit parce que je voulais m'assurer que vous ne perdiez pas 30 minutes de votre lecture. Si vous avez déjà consacré autant de temps à lire sur Haskell, cela signifie que vous avez une forte détermination à apprendre. Et c'est ce dont vous avez besoin pour apprendre cette langue.

Les inconvénients

Haskell est un excellent langage, mais comme tous les autres langages, Haskell Programming Langauge a son propre ensemble de traits. Par exemple, l'outillage, les messages d'erreur et la façon dont son système est construit sont tous plus complexes qu'ils ne devraient l'être. Si vous travaillez dans GHCi, vous remarquerez sûrement que les messages d'erreur ne sont pas aussi utiles ici que dans Python, Golang ou Scala.

Sans oublier que certains de ces éléments sont en cours d'élaboration. La plateforme Haskell est petite et facile à installer. Haskell, d'autre part, offre une expérience REPL plus stable. La gestion des packages ici a beaucoup de changements récemment, et ils continuent de s'améliorer. Même les Emacs bénéficieraient bientôt d'une bonne quantité d'améliorations et de nouvelles fonctionnalités.

Bien que haskell semble trop dur en tant que langue débutante, mais une fois que vous avez les bases, il est en fait facile de migrer vers des langues de bas niveau ou des langues de haut niveau en raison de ses caractéristiques très flexibles, contrairement à des langues comme python ou perl, si vous apprenez cela en premier, vous ne penserez probablement jamais à apprendre un langage de bas niveau à cause de sa structure de code aliénée.

Haskell, est une langue considérablement plus grande à apprendre en détail. En général, je dirais que le haskell est une excellente première langue à apprendre. La seule partie qui mérite d'être inquiétée est qu'il faudra peut-être plus d'efforts pour vous lancer et continuer à continuer sur une base constante en raison des problèmes avec ses outils, surtout si vous voulez créer un programme intéressant.

Si je visais à enseigner le langage de programmation Haskell aux gens, je mettrais plus d'efforts pour rendre la procédure d'installation plus indolore. Il faut avoir un bon ensemble de modules, la bonne version installée afin qu'ils aient correctement configuré GHCi pour compiler les problèmes.

Apprendre le langage de programmation Haskell signifie que vous devez penser de manière fonctionnelle. De nombreux nouveaux langages de programmation permettent le style fonctionnel de programmation, mais la plupart des développeurs n'utilisent pas pleinement ces fonctionnalités, car ils pensent dans un modèle davantage orienté objet, car leur expérience vient de l'apprentissage du C ou du C ++.

La question la plus attendue

Maintenant, pour la question la plus attendue… Quelles sont les utilisations pratiques de Haskell?

Haskell est certainement beaucoup utilisé dans l'industrie, mais pas aussi souvent que C # ou Java. Donc, si vous voulez simplement l'apprendre pour vous aider à obtenir des emplois de programmation haskell, cela pourrait en fait être une perte de temps. Une meilleure raison d'apprendre Haskell est de vous familiariser avec l'approche de style fonctionnel. Cela se produira à un rythme beaucoup plus rapide avec Haskell qu'avec un autre langage fonctionnel comme F # ou Scala. Vous pouvez également consulter mon prochain blog sur Haskell vs Scala pour connaître la différence.

Cette raison est que si vous êtes trop en colère avec le style fonctionnel, d'autres langages ont la possibilité de passer à l'approche orientée objet. Mais ce n'est pas le cas avec Haskell. Le langage de programmation Haskell a une construction qui vous oblige à écrire uniquement dans un style fonctionnel car il n'y a aucune autre approche disponible. La dernière chose que vous pouvez faire est de renoncer à rédiger une demande.

Conclusion

Le point final de tout ce blog est, si vous êtes à la recherche d'un emploi à Haskell; attendez que la NASA ou la NSA commence à embaucher des programmeurs débutants Haskell pour le travail. Ouaip! C'est aussi rare que ça. Mais si vous apprenez parce que vous aimez les défis, alors Haskell est la solution. Cela vous permettra de coder beaucoup mieux dans n'importe quelle langue.

Cela vous fera comprendre votre problème de manière appropriée, les divisera en parties appropriées et rendra le besoin de débogage le moins possible. Si vous apprenez également Haskell et d'autres langages de programmation, alors Haskell est le mieux adapté pour vous. Parce que cela fera un programmeur sage.

Première source d'image: pixabay.com

Articles Liés:-

Voici quelques articles qui vous aideront à obtenir plus de détails sur le langage de programmation Haskell, alors suivez simplement le lien.

  1. Avantages du langage de programmation de schéma
  2. Langues de haut niveau vs langues de bas niveau - en quoi elles sont différentes
  3. Guide complet du langage de programmation de schéma
  4. Les meilleurs langages de programmation pour l'apprentissage des algorithmes
  5. 10 choses intéressantes sur le langage de programmation Java
  6. Carrières en programmation R