• # Sympa

    Posté par . En réponse au journal Après le MOOC OCaml. Évalué à 4.

    Merci pour ton journal (et désolé pour le plombage de moral dans la dépêche). Je ne connaissais pas starterkit, c'est un bon conseil à donner aux débutants, et sa doc est agréable pour se lancer aussi.

    Pour répondre à ta question, moi je suis un vieux OCamleux donc j'ai grandi avec les choses d'avants et je me mets aux nouveaux trucs seulement petit à petit. En général pour un nouveau projet je me fais un .merlin et opam à la main (pro tip pour installer les dépendances d'un projet qui vient avec son opam local: opam pin leprojet . --no-action ; opam install --deps-only leprojet), et j'écris mon propre Makefile qui appelle OCamlbuild en dessus.

    Les gens plus modernes commencent avec OASIS directement, et c'est un chouette outil, mais j'ai toujours un peu peur d'avoir à travers trois niveaux d'abstractions: make (pour diriger la fête, par habitude et convention), oasis derrière, et enfin ocamlbuild (ou omake pour les gens qui préfèrent).

    Un truc dont je suis bien conscient et, je pense, tout le monde dans la communauté OCaml, c'est que ce n'est pas vraiment agréable comme expérience pour les débutants. Pour chaque besoin il y a trois outils différents, aucun qui ne fait vraiment le consensus (à part opam pour le package management), et des couches de trucs les uns par-dessus les autres. Tout le monde essaie d'améliorer ça et de rendre l'environnement plus agréable pour les nouveaux (et pour les autres aussi), mais ça demande un travail énorme, vraiment considérable, de progresser juste un peu là-dessus. On ne s'en rend pas forcément compte de l'extérieur mais, de base, créer des outils agréables c'est vraiment difficile, et en plus, créer des outils agréables et qui s'intègrent bien à l'existant que les habitués connaissent déjà, c'est encore plus dur.

    (Je comprends les gens de Reason qui ont décidé de repartir de zéro au niveau de l'écosystème, même si je pense qu'un effort équivalent pour travailler avec les gens existants peut avoir au final plus d'impact.)