juillet
2009
Aujourd’hui je m’intéresse à un petit programme dont je n’oserais pas parler dans la rubrique jeux.
J’en parle ici parce qu’il a ceci de particulier qu’il est programmé 100% en Objective-Caml.
Je savais bien qu’OCaml-SDL existait mais jusqu’ici je n’avais pas pris la peine de l’installer ne sachant pas trop comment le tester.
En programmation fonctionnelle ce genre de petite démonstration peut avoir deux sortes de motivations bien distinctes :
- Souvent il s’agit de montrer qu’un binding est bien opérationnel et que décidément la programmation fonctionnelle ce n’est pas que du très sérieux réservé aux universitaires qui font du calcul symbolique
- Comme pour le plaisir de contredire le point précédent, ce genre de petite démo peut aussi accompagner une théorie dite de FRP (Functionnal Reactive Programming), à laquelle le simple mortel ne comprendra à peu près rien du tout, sinon que le but avoué est de bâtir un framework qui réconcilie interactivité et composabilité. Dans ce cas la démo est là pour incarner les concepts in the real world.
Avec furypuyo il s’agit juste de tester OCaml-SDL. On est tranquillement dans le cas du fun back to the programming, on n’a pas à gravir une montagne de concepts qui accoucherait d’une souris.
N’étant pas un habitué de la compilation sous Linux je m’attendais quand même à quelque surprise.
- j’installe OCaml-SDL
- j’installe OCaml-find
Et là le make de FuryPuyo s’arrête sur une déclaration introuvable.
Il m’a fallu quelques minutes pour comprendre qu’en fait il faut installer OCaml-find avant OCaml-SDL.
Après rectification (réinstallation de OCaml-SDL via OCaml-find) ça compile.
Ça ressemble à un Tétris où il faudrait aligner des bestioles de couleur pour les faire disparaître.
Il n’y a pas de son mais ça n’est pas forcément une limitation de OCaml-SDL.
Ça n’impressionne pas mais ça montre à quel point la programmation fonctionnelle n’est plus le domaine réservé de la recherche. Dans la plupart des cas les outils existent déjà pour améliorer la qualité et la productivité à l’aide des langages de programmation fonctionnelle. Il suffirait d’avoir la curiosité et l’audace de les utiliser un peu plus.
Je l’ai testé également ce jeu, bien sympa effectivement !
Et OCaml-SDL est un truc sérieux, n’hésite pas à t’amuser avec !