Existe-t-il des études empiriques sur l'effet des différents langages sur la qualité des logiciels?

19

Les partisans des langages de programmation fonctionnels affirment que la programmation fonctionnelle facilite le raisonnement sur le code. Les partisans des langages à typage statique disent que leurs compilateurs détectent suffisamment d'erreurs pour compenser la complexité supplémentaire des systèmes de typage. Mais tout ce que j'ai lu sur ces sujets est basé sur un argument rationnel, pas sur des données empiriques.

Existe-t-il des études empiriques sur les effets des différentes catégories de langages de programmation sur les taux de défauts ou d'autres paramètres de qualité?

(Les réponses à cette question semblent indiquer qu'il n'y a pas de telles études, du moins pas pour le débat dynamique vs statique)

jgre
la source
6
Comme vous pouvez probablement l'imaginer, il existe un nombre ridicule de facteurs confondants. Il existe des "études empiriques", mais elles ne sont rien de plus que des anecdotes bien documentées et devraient recevoir autant de poids que cela le justifie.
CA McCann
1
doublon possible des études de langues typiquement vs statiquement
Steven A. Lowe
@Steven: Cette question semble avoir une portée plus large (peut-être trop large).
Robert Harvey
Si vous trouviez une telle étude, qu'en feriez-vous?
JeffO
@Robert il y a des études COCOMO dans ce sens, mais elles n'ont aucun sens - à moins que vous n'ayez étudié votre propre équipe, et c'est presque impossible à faire objectivement
Steven A. Lowe

Réponses:

3

Il y a des recherches dans le milieu universitaire sur ce sujet. Voici quelques exemples que je connais, bien que vous devriez traiter les conclusions avec prudence:

  • Une expérience sur les systèmes de types statiques et dynamiques: des doutes sur l'impact positif des systèmes de types statiques sur le temps de développement, Stefan Hanenberg. Dans Proc OOPSLA, 2010. ACM Link

  • Une étude empirique du typage statique chez Ruby, M. Daly, V. Sazawal, J. Foster. Dans Proc PLATEAU, 2010. PDF

  • Une expérience contrôlée pour évaluer les avantages de la vérification du type d'argument de la procédure, Lutz Prechelt et Walter F. Tichy. IEEE TSE, 1998. Lien IEEE

Je suis sûr qu'il y a d'autres papiers. D'une manière générale, cependant, ce domaine est extrêmement controversé pour des raisons évidentes --- il est vraiment difficile de faire une évaluation objective !!

redjamjar
la source
1

Lutz Prechelt est une étude célèbre . Une comparaison empirique de sept langages de programmation. Ordinateur IEEE [33 (10): 23-29], octobre 2000

Prechelt discute de la fiabilité du programme et examine également le temps d'exécution et la consommation de mémoire.

Lorin Hochstein
la source
0

Bien que cela ne soit pas lié à la qualité du code en tant que tel, cette étude examine comment les novices apprennent en utilisant différents langages. En particulier, ils comparent les résultats des novices lorsqu'ils apprennent Perl vs Quorum, une langue d'enseignement que les auteurs souhaitent comparer. Ce qui est vraiment cool dans cet article, c'est qu'ils proposent en fait un langage de contrôle où la syntaxe est générée de manière aléatoire, comme une sorte de langage "placebo". Cette approche pourrait être vraiment intéressante si elle était appliquée aux langues et à la qualité du code et aider à contrôler certains de ces facteurs de confusion délicats lors de la comparaison des langues.

joshin4colours
la source