1 points par GN⁺ 2024-06-19 | 1 commentaires | Partager sur WhatsApp

Pourquoi il m’a fallu 15 ans pour apprendre Haskell

Ma première rencontre avec Haskell

  • Haskell est un langage de programmation fonctionnelle créé par des logiciens écossais du XXe siècle.
  • J’ai découvert Haskell pour la première fois vers 2006.
  • J’ai commencé à apprendre Haskell à l’université dans le cadre d’une recherche indépendante, mais au final je n’ai pas appris grand-chose.

Haskell en pratique

  • En 2009, j’ai davantage côtoyé Haskell en utilisant Xmonad, un gestionnaire de fenêtres en mosaïque.
  • Le fichier de configuration de Xmonad étant écrit en Haskell, cela m’a permis de mieux le comprendre.

Apprendre grâce à Elm

  • Elm est un langage similaire à Haskell, et il m’a permis de comprendre plus facilement les concepts de la programmation fonctionnelle.
  • En utilisant Elm pour créer une page de tableau de bord, j’ai appris les principes de la programmation fonctionnelle.

Retour à Haskell

  • En m’appuyant sur ce que j’avais appris avec Elm, j’ai créé un générateur de site statique avec Shake, une bibliothèque Haskell.
  • Par la suite, j’ai appliqué des concepts de Haskell en Python, ce qui m’a permis d’écrire un meilleur code.

Écrire enfin un premier programme Haskell utile

  • En 2023, en travaillant comme freelance, j’ai écrit en Haskell un programme de suivi du temps.
  • Ce programme sait analyser des options en ligne de commande et interagir avec une base de données.
  • J’ai enfin réussi à écrire un programme Haskell utile, ce qui m’a procuré un grand sentiment d’accomplissement.

L’avis de GN⁺

  • Les avantages de la programmation fonctionnelle : les langages fonctionnels comme Haskell mettent l’accent sur l’immuabilité et les fonctions pures, ce qui améliore la prévisibilité et la fiabilité du code.
  • Courbe d’apprentissage : Haskell est difficile à apprendre, mais une approche progressive via des langages proches comme Elm peut être efficace.
  • Application en conditions réelles : utiliser Haskell dans de vrais projets aide à mieux comprendre et appliquer les principes de la programmation fonctionnelle.
  • Choix des outils : des bibliothèques Haskell comme Shake sont utiles pour construire des systèmes de build et permettent de constater le côté pratique de Haskell.
  • Communauté et ressources : la communauté Haskell et les nombreuses ressources d’apprentissage peuvent beaucoup aider tout au long du parcours.

1 commentaires

 
GN⁺ 2024-06-19
Avis Hacker News
  • Apprendre la programmation fonctionnelle en vaut la peine, et cela ne prend pas 15 ans. Haskell rend naturelle la modélisation déclarative des données métier, le travail avec des fonctions pures et l’interaction avec le monde réel aux frontières du programme. F# est recommandé aux débutants.
  • Prolog apporte encore plus d’éclairages pour comprendre la programmation fonctionnelle. Il ne faut que quelques jours pour comprendre le langage, mais il faut plus de temps pour comprendre ses résultats.
  • Demande de recommandations de bonnes ressources pour apprendre Haskell. L’intérêt pour Haskell existe depuis longtemps, et même si certains concepts de programmation fonctionnelle ont été intégrés via un projet annexe en F#, la compréhension des monades reste insuffisante.
  • Lien : Ressources d’apprentissage Haskell
  • Un avis demande à voir le code de l’auteur. Curiosité quant au résultat concret de son parcours.
  • Lien : Voir le code de l’auteur
  • Question sur les avantages d’apprendre un langage de programmation purement fonctionnel. Lorsqu’on écrit du code qui traite des données et des événements du monde réel, la frontière entre code optimisé et curiosité intellectuelle devient floue.
  • Ce qui rend Haskell attrayant, c’est que la modélisation déclarative des données métier, le travail avec des fonctions pures et l’interaction avec le monde réel aux frontières du programme paraissent naturels. C’est une manière de travailler appréciée non seulement en Haskell, mais aussi dans d’autres langages.
  • Quand Haskell était un sujet brûlant il y a 20 ans, ML était aussi souvent discuté. Aujourd’hui, ML désigne presque toujours le machine learning.
  • 15 ans ou rien.