test-first, un tournant dans l'histoire de l'informatique ?

  • Auteur de la discussion nraynaud
  • Date de début
Statut
N'est pas ouverte pour d'autres réponses.

nraynaud

Habitué
Il semblerait que la mode du test-first et des tests unitaires soit le signe du renoncement dans la quête de la qualité ultime.

En effet, depuis Turing, la logique avance à grand pas et au cours de l'histoire de l'informatique, on a toujours crû que seule la preuve formelle de la correction des programmes était la seule voie vers la fiabilité ultime.
On a commencé avec Lisp qui avait un comportement mémoire par nature correct (pas de pointeurs qui se barrent en vrille), on a enchainé avec des langages comme ML, tout en faisant parallèlement avancer les prouveurs automatiques et les frameworks logiques qui les sous-tendent.

Hors aujourd'hui la mode est à java (qui ne fait même pas d'analyse globale), à JUnit, et au code dynamique (intrinsèquement improuvable).

En effet, depuis Meyer et la programmation par contrat, la preuve est restée marginale dans le domaine du développement. L'existence d'outils tels que coq, ou de langages "corrects" tels que haskell est complètement méconnue.

Les développeurs auraient-ils renoncé à la qualité qu'il testent vaguement leur produit au lieu de tenter d'en prouver la correction ?

On se souvient pourtant de la célèbre citation de Knuth : "Attention, le code précédent n'a pas été testé, il a juste été prouvé comme correct !".

Qu'en pensez-vous ? ;)
 

greg--

Habitué
j'ai pas lu, je suis un convaincu du test-first (ou TDD pour "Test Driven Development"), mais tu es prié de garder tes topics de qualité pour hfr, merci :p
 

Fredos

Habitué
La qualité du code... hum... D'instinct, je dirais que c'est une question plus esthétique que technique. Coder, c'est un art.
 

nraynaud

Habitué
[citation=5027,1][nom]Fredos a écrit[/nom]La qualité du code... hum... D'instinct, je dirais que c'est une question plus esthétique que technique. Coder, c'est un art.[/citation]ah ! C'est pour ça que je vois des trucs surréalistes tous les jours ?
 

nraynaud

Habitué
tiens, ça me fait penser qu'il faut que je m'organise pour aller voir l'expo de Miró au centre Pompidou moi.
 

Fredos

Habitué
[citation=5044,1][nom]nraynaud a écrit[/nom]ah ! C'est pour ça que je vois des trucs surréalistes tous les jours ?
[/citation]

Vu le niveau de l'art aujourd'hui, oui, c'est un peu pour ça. Tu as entendu parler de M. Manzoni ? Ce grand artiste qui a mis sa merde en boite pour la vendre ? "Ma merde est de moi, c'est donc de l'art"...

L'art, c'est une question de méthode, de travail sur soi, de rigueur, de liberté au sens que donnait Montaigne à ce mot (avoir tout pouvoir sur soi et par soi). Rien à voir avec les "nouvelles stars de demain" et autre daube academy.
 

samuelp

Habitué
[citation=5027,1][nom]Fredos a écrit[/nom]La qualité du code... hum... D'instinct, je dirais que c'est une question plus esthétique que technique. Coder, c'est un art.
[/citation]

Je pense que c'est dangereux de penser cela. L'art préssupose la notion d'artiste, et donc de personnalité dans la production. Cela me semble incompatible avec un code de qualité industrielle. De plus, la qualité du code doit généralement être prédominante. On ne doit pas se laisser guider par un instinct. Quitte à le rapprocher de ce type de notion, je préfère rapprocher la programmation de l'artisanat (pas dans son coté péjoratif), qui me semble plus proche car, même en artisanat, la fonctionnalité doit passer d'abord.

De plus, j'abonde dans ce que dit nraynaud. En informatique, on a la prédominance du test avant la preuve. C'est à peu près la seule industrie où on réagit ainsi. Pour vérifier si un pont va tenir le passage d'un train, on n'attend pas qu'il soit terminé pour faire un test. Et malheureusement, le monde de la programmation est pourri de ce type d'habitudes.
 

Fredos

Habitué
[citation=5074,1][nom]samuelp a écrit[/nom]

Je pense que c'est dangereux de penser cela. L'art préssupose la notion d'artiste, et donc de personnalité dans la production. Cela me semble incompatible avec un code de qualité industrielle. De plus, la qualité du code doit généralement être prédominante. On ne doit pas se laisser guider par un instinct. Quitte à le rapprocher de ce type de notion, je préfère rapprocher la programmation de l'artisanat (pas dans son coté péjoratif), qui me semble plus proche car, même en artisanat, la fonctionnalité doit passer d'abord.

De plus, j'abonde dans ce que dit nraynaud. En informatique, on a la prédominance du test avant la preuve. C'est à peu près la seule industrie où on réagit ainsi. Pour vérifier si un pont va tenir le passage d'un train, on n'attend pas qu'il soit terminé pour faire un test. Et malheureusement, le monde de la programmation est pourri de ce type d'habitudes.
[/citation]

Mais je suis tout à fait d'accord avec toi. On ne se comprend pas parce qu'on ne parle pas le même langage. Il y a à peine quatre siècles les artistes étaient encore considérés comme des artisans. Et puis il y a eu des orgueilleux pour se prendre pour des intellectuels, et pour vouloir un statut d'intellectuel. De là, la voie était toute tracée vers l'art pour l'art (l'art sans art, ou une connerie comme la vérité vraie si tu préfères). Tu sais, il y a "à peine" 2500 ans même les sages étaient plutôt des artistes et des artisans. Et à cette époque, c'étaient les poètes qui créaient les Dieux à l'image de l'homme... Rien à voir avec toute la clique somme toute moderne de rabbins, de curés, d'immams, de nihilistes pseudo-intellectuels de salon, de scribouilleurs, de "chanteurs" qui empuantissent l'air d'aujourd'hui. Mais je m'égare un peu là...

Alors oui, c'est peut-être un peu dangereux ce que je dis. Mais le code de "qualité industrielle", je n'en ai jamais vu (enfin si, mais de qualité foncièrement médiocre). Par contre, du code de "qualité individuelle", j'en ai vu. Ayant travaillé dans une équipe où les programmeurs sortaient tous de polytechnique, je peux te dire que c'est la qualité des personnes qui fait la qualité du code. Les théories, en dehors des personnes pour les incarner, c'est bien beau mais c'est du vent.
 

nicoprog

Grand Maître
[citation=5111,1][nom]ToxicAvenger a écrit[/nom]java a la mode en 2003 ? :heink:
[/citation]

2004 :kaola:
 

ToxicAvenger

Expert
[citation=5136,1][nom]nicoprog a écrit[/nom]

2004 :kaola:
[/citation]

:heink: Java c'etait ptet a la mode y'a 10 ans... mais maintenant, c'est comme dire que le fortran est a la mode...
 

drasche

Expert
[citation=5138,1][nom]ToxicAvenger a écrit[/nom] :heink: Java c'etait ptet a la mode y'a 10 ans... mais maintenant, c'est comme dire que le fortran est a la mode...
[/citation]
Java n'existait pas il y a 10 ans :o
pis il est à la mode, c'est parce que tu ne le vois pas, stout :o
 

drasche

Expert
[citation=5155,1][nom]ToxicAvenger a écrit[/nom]bah on va dire que nos clients l'utilisent pas stout :o
[/citation]
dans les banques ils aiment Java :o

et dans les assurances, kifkif entre Java et VB on va dire :o
(moi j'ai pas eu de chance, je me farcis ceux qui aiment VB :cry:)
 

ToxicAvenger

Expert
pitet, moi je suis dans l'industrie. On fournit du boulot aux banques pour placer nos benefs nous monsieur :o
 

drasche

Expert
[citation=5168,1][nom]ToxicAvenger a écrit[/nom]pitet, moi je suis dans l'industrie. On fournit du boulot aux banques pour placer nos benefs nous monsieur :o
[/citation]
j'espère que vous n'êtes pas assurés pas xxxxxxxxxxxxxxxxx, vous vous feriez voler :o [:ddr555]

[/hs]
 
Statut
N'est pas ouverte pour d'autres réponses.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 065
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut