C'est un fait : la programmation fonctionnelle à la vent en poupe (enfin, de nouveau), et les processeurs multi-cœurs y seraient pour quelque chose.
Haskell est connu pour être un de ces langages puissants, mais pas forcément simple à aborder, surtout qu'il peut-être fainéant. Bref, il est souvent recommandé de s'y connaître un peu en fonctionnel avant de s'y attaquer.
Mais voilà, Richard Bird vient de sortir un nouveau livre permettant de découvrir la programmation fonctionnelle et haskell en même temps : « Thinking Functionally with Haskell ».
Ce livre est destiné à des étudiants à la fac, mais il est très progressif, et très clair (mais il est rédigé en anglais). Il contient également une centaine d'exercices corrigés.
Il n'expose pas le λ-calcul[1], mais il a une approche mathématique de la chose, puis il fait le lien avec le langage et son implémentation. Il me semble que cela permet de bien séparer le raisonnement fonctionnel du langage en lui-même, et c'est une bonne chose.
C'est une excellente occasion de rajouter ce livre à vos bonnes résolutions de l'année ;)
Notes :
[1] : mais si vous souhaitez en savoir plus sur le λ-calcul, je ne peux que vous conseiller « Introduction to Functional Programming », par John Harrison.
# Autre livre
Posté par Sébastien Wilmet . Évalué à 3.
Autre livre très intéressant :
Concepts, Techniques, and Models of Computer Programming
Avec un seul langage (Oz), le livre couvre tous les principaux paradigmes/modèles : declarative/functional programming, declarative concurrency, message-passing concurrency, explicit state (programmation impérative), object-oriented, shared-state concurrency, relational programming, GUI programming, distributed programming, constraint programming, et autres buzzword.
Voir aussi cette page de Peter Norvig (qui travaille chez Google, et a co-écrit Le livre sur l'intelligence artificielle) :
Teach Yourself Programming in Ten Years
Même si le langage Oz n'est pas très connu, le livre est surtout un outil pédagogique. Une fois qu'on a appris pas mal de paradigmes différents, on peut choisir un language plus répandu qui est spécialisé dans le paradigme qui convient pour un certain projet. Mais cela dit, c'est un avantage d'avoir un seul langage qui supporte plusieurs paradigmes, comme ça pour des projets un peu plus gros, on peut mélanger plusieurs paradigmes tout en gardant la même syntaxe. En gros on choisit le paradigme le plus approprié suivant le besoin.
# Plus d'infos si possible
Posté par DL . Évalué à 1.
Las ! on est trop souvent mal critiqué au travail, dans le quotidien et même notre journal.
Pourtant ton journal m’intéresse car depuis quelques temps j'aimerai passer dans un autre type de programmation que les "classiques" (C/C++/python/etc) et donc je me suis fait conseillé Haskell.
Je n'ai pas trop accroché avec le célèbre tutoriel qui est devenu un livre et pourtant c'est très bien amené.
Et donc ton livre m'intrigue seulement amazon ne permet pas de savoir trop ce qu'il en est, la prévisualisation n'est pas dispo: peux tu donner plus de détails stp?
[^] # Re: Plus d'infos si possible
Posté par Jiehong (site web personnel) . Évalué à 2.
C'est tout à fait possible. Je te propose la table des matières :
Si tu veux en savoir plus, n'hésite-pas !
[^] # Re: Plus d'infos si possible
Posté par jame_s . Évalué à 1.
Sur le site de l'auteur, on trouve le code source des exemples et, sur le site de l'éditeur, un trop court extrait du premier chapitre.
[^] # Re: Plus d'infos si possible
Posté par outs . Évalué à 1.
Sinon il y a le classique Real World Haskell. Il est plus classique dans sa présentation que "Learn You a Haskell" (perso j'ai eu du mal avec). Comme il est plus vieux, il y a quelques chapitres plus trop à jour (des bibliothèques qui ont un peu évolué) mais bon c'est surtout la forme, le fond reste valable.
On peut le lire en ligne ou s'acheter une version papier.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.