Si l’on posait la question à savoir « quel est le meilleur langage de programmation ? », ou « pourquoi avez-vous optez pour ce langage de programmation ? », on se retrouvera probablement avec un long débat houleux.
D’aucuns affirmeront que le langage qu’ils utilisent permet d’obtenir un code de meilleure qualité, plus lisible et facilement maintenable. D’autres que leur langage offre plus de sécurité, permet d’avoir moins de bugs, etc. Bref, chacun sortira des arguments pour défendre avec conviction le langage de programmation qu’il utilise. Au final, on se rendra probablement compte que le débat est beaucoup plus religieux que scientifique.
Pourtant, les différences au niveau de la qualité de code entre les langages de programmation sont assez petites. C’est la conclusion d’une étude réalisée par des informaticiens de l’université de Californie, qui sera présentée ce mois lors d’un colloque à Hong Kong sur le génie logiciel.
L’étude a été faite en utilisant un ensemble très vaste de données disponibles sur GitHub. Les chercheurs ont analysé 729 projets, environ 80 millions de lignes de code de 29 000 auteurs et 1,7 million de commits, dans 17 langages de programmation.
Au vu de la grande taille de l’échantillon, les chercheurs ont utilisé une approche de « méthodes mixtes », combinant un modèle de régression multiple avec l’analyse de texte, le regroupement et la visualisation.
Ils ont constaté, par exemple, que le typage fort est légèrement meilleur que le typage faible. Que pour les langages fonctionnels, le typage statique était légèrement mieux que le typage dynamique.
En analysant les erreurs génériques en programmation, ceux-ci ont constaté une domination des fautes de frappe, des erreurs de type, des erreurs de compilation, d’initialisation des données, etc. Ces erreurs représentaient environ 80%, et le reste était des erreurs de manipulation de mémoire, des erreurs algorithmiques et des bugs de concurrence.
Le taux d’erreurs était plus élevé dans les langages comme C, C++, JavaScript, Objective-C et Php, et moins élevé dans les langages Clojure, Haskell, Ruby, Scala et TypeScript. Cela a permis à ceux-ci de conclure que les langages de programmation fonctionnels pourraient être « mieux » que les langages de programmation procéduraux.
Cependant, ces effets modestes découlant de la conception du langage de programmation sont rapidement dominés par des facteurs tels que la taille du projet, la taille de l’équipe, etc. rendant leur impact moins significatif.
Au final, la qualité d’une application serait plus liée au facteur humain, qu’au langage de programmation utilisé. Quel que soit le langage utilisé, ce sont les aptitudes de développeurs derrière le code qui a été écrit et la taille du projet qui permettent de faire la différence.
Source : L'étude au format PDF
Et vous ?
Qu’en pensez-vous ? Pour vous, le langage de programmation a-t-il un effet important sur la qualité du code ?
Quel est l'effet du langage de programmation sur la qualité du logiciel ?
Une étude tente de clarifier la situation
Quel est l'effet du langage de programmation sur la qualité du logiciel ?
Une étude tente de clarifier la situation
Le , par Hinault Romaric
Une erreur dans cette actualité ? Signalez-nous-la !