[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Etude(s) de cas



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



Reply to: