On Sat, May 24, 2003 at 12:44:16AM +0100, Yves Rutschle wrote:
> On Fri, May 23, 2003 at 11:24:00PM +0200, Sven Luther wrote:
> > > J'y ajouterai, en terme de lisibilité/productivité que les softs OCaml 
> > > connus
> > > (unison, hevea, j'en oublie...) atteignent une qualité(*) (largement)
> > > "honorable" avec beaucoup moins d'hommes/mois... C'est un signe aussi.
> > 
> > Oui, mais certains diraient que cela vient tout simplement du fait que la
> > qualite des programmeurs ocaml est beaucoup plus grande que celle des
> > programmeurs d'autres langages.
> 
> Sujet glissant, je me méfirais, même un vendredi après midi :-)
> 
> > Et comme dis, spamoracle, c'est environ 1800 lignes de
> > code, et je suppose que cela compte les lignes vides entre
> > les fonctions. 
> 
> Ça revient au problème du niveau du langage: Un programmeur
> "normal" (peut-être pas un programmeur Ocaml de grande
> qualité) fait une erreur toutes les 10 lignes, si je me
> souviens bien. Le chiffre importe peu, ce qui est important
> c'est que c'est par nombre de ligne. Donc, si j'écris 5
> pages d'assembleur, je vais avoir le même nombre d'erreurs
> potentielles que si j'écris 5 pages de C, ou 5 pages de Perl
> (ou d'Ocaml.. À vue de nez ils se placent plus ou moins au
> même niveau). Il est évident que 5 pages de Perl font bcp
> plus de choses que 5 pages de C, et encore plus de choses
> que 5 pages d'assembleur. (Par exemple: En Perl, on fait un
> match d'expression régulière en une ligne; en C, il faut 3
> ou 4 lignes; en ASM, il faut déjà plusieurs lignes pour
> appeller une fonction...)
> 
> Du coup, la densité d'erreurs en fonction de la
> fontionnalité décroit avec le niveau du langage.

Oui, mais tu oublie que ocaml est un langage type fortement et
statiquement, normalement la majorite des bugs sont recuperer
directement par le systeme de typage, et il est beacoup plus facile
d'ecrire des programmes avec un nombre reduit de bugs en ocaml que dans
les autres langages. De plus toute une serie d'erreurs courrantes dans
d'autres langages ne peuvent pas etre fait en ocaml (pointeurs qui
pointe sur rien du tout, depassement de tableaux, etc.). Cela laisse
quand meme les boucles infinis, qui sont inevitable, du moins dans
l'etat actuel de la theorie, et les programmes qui font ce qu'on leur
dis, mais pas ce qu'on aurait voulu qu'il fasse.

Amicalement,

Sven Luther

Répondre à