46 votes

Quelqu'un aurait-il des recommandations pour débuter dans la programmation fonctionnelle?

Je suis à la recherche pour certains livres, qui va l'aider dans mon apprentissage de la programmation fonctionnelle. Je n'ai pas encore décidé quelle langue je vais aller avec, mais j'ai remarqué une quantité raisonnable de partialité à l'égard de LISP, Haskell et F#, entre la communauté sur StackOverflow. Pas encore, je ne suis pas sûr quelle direction je vais prendre, mais quelqu'un peut-il recommander un en particulier des eBooks sur le sujet? En outre, si quelqu'un pouvait présenter un argument convaincant pour qui le langage fonctionnel qui serait le plus intéressant de poursuivre, je vous en serais très intéressé de connaître votre avis.

Je suis particulièrement intéressé par les livres électroniques car j'ai réussi à marquer moi-même un Sony eBook Reader pour Noël et je suis à la recherche pour le charger avec du matériel utile pour ma quête sans fin pour devenir un meilleur programmeur.

49voto

A. Rex Points 17899

Je recommande Haskell. S'il vous plaît vérifier ce que d'autres DONC, la question: débuter avec Haskell.

Raisons en faveur de Haskell:

  • À partir d'un point de vue personnel d'abord: j'ai passé une quantité considérable de mes premières années de programmation réflexion sur la conception de mon propre langage de programmation. (Pour exemple, je vous recommande fortement le manuel de Programmation de la Pragmatique du Langage.) Quand je l'ai rencontré pour la première fois Haskell, j'ai réalisé qu'il intègre de nombreuses idées que j'avais, ainsi que beaucoup d'autres, et dans tous les aspects, beaucoup mieux que je ne l'ai fait moi-même.
  • C'est un très pur de la mise en œuvre de la fonctionnelle idéaux: paresseux (non stricte) et (polymorphically) statiquement typé. Pas d'effets secondaires!
  • Son type de système peut changer votre point de vue de type de systèmes. (Hindley-Milner, l'inférence de type est incroyable.)
  • Son autre point de vue de la programmation orientée objet et le polymorphisme est grande.

Lisp est également un bon choix. Raisons en faveur d'un Lisp variante:

  • Historiquement, le premier langage de programmation fonctionnel (ou le premier gros).
  • La vision du monde "tout est une liste" est très minimaliste, simple et belle.

Si vous décidez de faire une Lisp variante, je vous recommande de Régime.

Je n'ai pas utilisé OCaml ou Ruby, mais certains de mes amis ne jurent que par eux, si l'on peut argumenter de façon fonctionnelle qu'ils sont. D'autre part, leur "multi-paradigme de la" nature les rend très commode dans la pratique.

Pour conclure, je vous suggère de choisir une langue à la suite d'Alan Perlis du conseil: "Une langue qui n'affecte pas la façon dont vous pensez de la programmation, n'est pas la peine de savoir." Lisp et Haskell fois changé mon monde. J'espère que quelle que soit la langue que vous choisissez, il change votre monde.

27voto

Federico A. Ramponi Points 23106

J'ai juste commencé à la suite de la Structure et de l'Interprétation des Programmes d'Ordinateur à des conférences vidéo, et je pense qu'ils sont merveilleux. Ils adoptent le Régime, qui est une variante de LISP, comme langage de programmation. Mais ce n'est pas le point de la formation: C'est sur l'ensemble de la notion de "calcul" et de ses implications.

15voto

The_Ghost Points 844

L'un des meilleurs tutoriels pour la programmation fonctionnelle (un ami a moi) c'est d' Apprendre que Vous avez un Haskell pour le Grand Bien!. Ce tutoriel est sur le Haskell, mais à la base, il y a de très bonnes présentés dans le bon ordre. Je l'ai trouvé très clair.

8voto

Benjol Points 16334

Évidemment, ça dépend.

Êtes-vous familier avec le C# et .Net framework? Si oui, qui va vous donner un coup de pouce à l'aide de F#. Si vous avez Visual Studio, vous pouvez jouer avec F# trop, c'est un autre apprentissage de la courbe aplatie.

Cela dépend aussi si vous êtes simplement à la recherche de "grok' la programmation fonctionnelle, d'élargir vos horizons, ou l'utiliser effectivement un certain temps. Si vous êtes juste groking, puis commencer n'importe où, mais si vous avez l'intention de l'utiliser, puis choisissez quelque chose qui est compatible avec votre cadre.

Mes 2 cents/pence

7voto

vili Points 574

Je suis dans le milieu de la lecture Encore un Autre Tutorial Haskell et c'est très utile et bien écrit en Haskell livre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X