On Thu, Jun 26, 2003 at 06:59:37AM +0200, JusTiCe8 wrote: > Bonjour, > > Sven Luther wrote: > > >On Wed, Jun 25, 2003 at 05:21:06PM +0200, Georges Mariano wrote: > > > > > >>PS : et vu le nombre de bug report dans la pile, y'a pas le feu ;-) > >> > >> > > > >C'est pas grave, des que tu trouve un bug, il faut le documenter, sinon, > >il passe inapercu. Avec les manieres de developper deficiente que tout > >le monde utilise aujourd'hui, les bugs sont forcement present et il n'y > >a que cette methode pour les traquer. > > > > > Alors là, ça me surprend, cela voudrait il dire que les erreurs sont une > fatalité ?
Tant qu'on n'utilisera pas des methodes de developpement qui permettent de ne pas faire d'erreurs oui. Utiliser un langage tel caml est deja un premier pas, mais le mieux est souvent de partir d'abord de la preuve du programme, et generer ensuite le code automatiquement. C'est possible en coq qui peut generer du code ocaml, ou avec B, qui permet de generer (manuellement si je ne me trompe) du code procedurale. Et B a servi pour des grands projet, comme l'automatisation de la ligne Meteor a Paris par exemple, qui a pris 4 ans de developpement, et a ete entierement prouve en B avant d'etre code. Apres 2 ans de developpement, les commanditaire du projet (la RATP ?) ont decide qu'ils avait confiance en la methode, et on arrete de faire des tests, apres 2 ans supplementaires, ils ont lancer meteor pour la premiere fois (a vide bien sur) et tout a bien marche. Bien sur, il faut rajouter apres du materiel sur, avec des liens redondant, etc, chose que tu ne verra jamais dans ta machine desktop. Mais bien sur, ce genre de methode est tres loin des pratiques du logiciel libre, bien qu'il semble que la gestion des fichiers dans le noyau Linux ai ete prouve en Coq, a ce qu'il parait. > Je sais pertinament que nous ne pouvons TOUT tester sur TOUTES les > configs possible et imaginable mais quand même... :/ La difference de developpement entre le logiciel libre, et le logiciel conventionnelle, c'est que tout le monde a acces au code, et que donc il est beaucoup plus facile de tester et de corriger les bugs, et bien sur, il y a beaucoup plus de developpeurs et de testeurs que meme une boite comme microsoft peut se permettre de payer. On peut faire une analogie avec un algo genetique, ou la theorie de Darwin, en logiciel libre, le code foissonne partout, et le meilleur s'impose apres un temps. Amicalement, Sven Luther