Apprendre la programmation fonctionnelle

a marqué ce sujet comme résolu.

Salut,

OCaml est un bon langage pour commencer.

La communauté francophone est importante, ce qui est certainement une bonne chose, et tu as pas mal de projets ou librairies intéressantes.

Il compte de nombreuses applications pratiques (programme pour avion, etc…). Il est particulièrement bon pour manipuler des arbres syntaxiques (en interprétation et compilation).

De plus il possède encore quelques primitives impératives, ce qui peut rendre la transition plus aisée pour un débutant.

Haskell est plus dur à maîtriser. C’est un langage très bien pensé, et sa communauté est immense, en revanche elle est majoritairement anglophone. De plus il contient moins d’applications industrielle - à ma connaissance - que OCaml. En revanche si tu passes le baptême du feu et que tu comprends tout, tu auras beaucoup progressé. Il a poussé la logique fonctionnelle jusqu’au bout et c’est une petite merveille d’abstraction.

Erlang je ne le recommande pas. Le compilateur vomit des messages d’erreurs cryptique. C’est très aride pour un débutant et très difficile de progresser. La communauté est plus petite que pour les deux langages précédents, car c’est un langage plus spécialisé. En plus il a des défauts atroces dans sa syntaxe et pas mal de choix de conception étranges ou bancals.

C’est un langage qui avait été pensé pour la programmation concurrente. Il est très bon dans cette application (un des meilleurs, si ce n’est le meilleur). Mais je le conseille à des gens qui connaissent déjà le fonctionnel, et qui veulent découvrir la programmation concurrente. Le modèle acteur est un paradigme assez différent de ce à quoi tu peux être habitué, et qui est quelque peu différent du paradigme fonctionnel aussi.

Bref, essaie OCaml ou Haskell. Au final, ça n’a pas trop d’importance tu pourras toujours apprendre l’autre plus tard. Les deux autres que tu cites (ReasonML et Elixir) je ne les connais pas.

Comme relevé par Dab ils n’ont pas été conçu pour, et tu risques de batailler un peu pour trouver une lib' viable (la SFML propose des bindings je crois).

Cela dit ça reste possible. Je pense que OCaml a plus de libs pour faire ça. En revanche la syntaxe de OCaml est pas terrible quand il faut manipuler des flottants (ce qui arrive souvent dans des jeux, moins de trouver une autre solution).

Mais si ta priorité c’est de faire un jeu, je pense que tu vas probablement moins galérer dans un autre langage.

Je m’étonne un peu de l’association jeux/programmation fonctionnelle, mais pourquoi pas :)

En école d’ingé, on m’a présenté la programmation fonctionnelle avec le langage Racket. On avait fait un démineur avec une interface graphique. Je n’ai pas spécialement d’avis dessus, je le poste juste là comme encore une option qui s’ouvre à toi. Après, si tu débutes, je ne peux que te conseiller les populaires qui ont été cités ci-dessus, mais je ne pense pas que Racket en fasse partie…

Hello,

Comme tous les posts comme ça j’aurai tendance à dire de choisir un langage et de commencer à faire des choses avec. Ce que tu apprendras dans l’un te permettra d’apprécier les différences avec les autres langages donc tu ne peux être que gagnant. Prend le langage qui te donne le plus envie, tous ceux que tu as cité sont excellents et très diversifié en usage.

PS: OCaml est utilisé dans compcert, Haskell dans Sigma (Facebook), même pas besoin de parler d’Erlang et Elixir devient de plus en plus utilisé donc ils sont relativement partout.

+0 -0

Tu as le langage Haxe qui permet de faire du fonctionnel, qui permet de faire du web autant que du mobile. Il y a également des moteurs de rendus dispo pour ce langage. Je n’ai jamais utilisé ce langage, mais j’en avais entendu du bien.

Perso la programmation fonctionnelle, j’ai commencé par Haskell, puis OCaml, puis les différents dialectes de Lisp. Mais tu peux faire du fonctionnel avec beaucoup de langages (Rust est un exemple de langage qui empreinte beaucoup aux langages fonctionnels).

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte