On Fri, May 23, 2003 at 02:14:42PM +0100, Yves Rutschle wrote: > On Fri, May 23, 2003 at 02:21:51PM +0200, Georges Mariano > wrote: > > Un code OCaml avec un triple foncteur imbriqu� � > > carburateur invers� (tu dois �comprendre� ;-) bien que > > concis et �minemment puissant, devient l'enfer � la > > moindre erreur(modif) de typage. Mais c'est in�galable. > > Tiens, �a me rapelle beaucoup cet autre langage tant d�cri�: > Perl... Qui peut �tre tr�s concis mais difficile � > comprendre (et � maintenir), ou bien moins concis mais > clair... �a pourrait bien �tre une propri�t� de la plupart > des langages d'ailleurs (bar Pascal et ADA?) (et en > respectant l'echelle: une ligne "dense" de C fera toujours > moins qu'une ligne "dense" de Perl ou Ocaml).
Non, c'est pas du tout comparable, le langage ocaml est en general concis et clair. Les modules et foncteurs dont parles Georges sont une fonctionalite tres avance, qui n'existe a ma connaissance dans tres peu d'autre langages et probablement pas en perl, et qui peut effectivement poser des problemes lorsque on l'utilise beaucoup. Cependant, il me semble que dans la majorite du code existant, cela reste quand meme lisible, il faut juste un peu de travail de detective pour aller chercher la definition effective d'un fonction qui est definie dans un foncteur et pour comprendre comment le module argument du foncteur le modifie. Bien sur, il faut distingue la lisibilite (pour comprendre le code ou pour sa documentation) de la facilite de debogage que Georges evoquait ici. > > PS : je me permets de r�pondre car je viens juste d'aborder le m�me > > sujet avec mes stagiaires actuels qui se posent des questions > > (lisibilit�, puissance d'expression) sur les langages (et OCaml en > > particulier)... > > Pour les �tudiants, je pense qu'il est important de leur > rappeler qu'apr�s tous les d�bats, 95% ils seront face � la > vraie raison pour utiliser un langage: "Le reste du projet > (98 millions de lignes) est �crit en �a. D�sol� petit, mais > il va falloir se mettre � Brainfuck." (oh non!) Effectivement, Amicalement, Sven Luther

