Gibt es empirische Studien zum Einfluss verschiedener Sprachen auf die Softwarequalität?


19

Die Befürworter der funktionalen Programmiersprachen behaupten, dass die funktionale Programmierung es einfacher macht, über Code nachzudenken. Die Befürworter statisch typisierter Sprachen geben an, dass ihre Compiler genügend Fehler erkennen, um die zusätzliche Komplexität von Typsystemen auszugleichen. Aber alles, was ich zu diesen Themen lese, basiert auf rationalen Argumenten, nicht auf empirischen Daten.

Gibt es empirische Studien darüber, welche Auswirkungen die verschiedenen Kategorien von Programmiersprachen auf Fehlerraten oder andere Qualitätsmetriken haben?

(Die Antworten auf diese Frage scheinen darauf hinzudeuten, dass es keine derartigen Studien gibt, zumindest nicht für die dynamische oder die statische Debatte.)


6
Wie Sie sich wahrscheinlich vorstellen können, gibt es eine lächerliche Anzahl von verwirrenden Faktoren. Es gibt "empirische Studien", aber sie sind kaum mehr als gut dokumentierte Anekdoten und sollten in etwa so gewichtet werden, wie dies gerechtfertigt ist.
CA McCann


@Steven: Diese Frage scheint weiter gefasst zu sein (vielleicht zu weit gefasst).
Robert Harvey

Wenn Sie eine solche Studie finden würden, was würden Sie damit machen?
JeffO

@ Robert, es gibt COCOMO-Studien in dieser Richtung, aber sie sind bedeutungslos - es sei denn, Sie haben Ihr eigenes Team studiert und das ist objektiv fast unmöglich
Steven A. Lowe

Antworten:


3

In der Wissenschaft wird zu diesem Thema geforscht. Ich kenne einige Beispiele, obwohl Sie die Schlussfolgerungen mit Vorsicht behandeln sollten:

  • Ein Experiment über statische und dynamische Typsysteme: Zweifel an den positiven Auswirkungen statischer Typsysteme auf die Entwicklungszeit, Stefan Hanenberg. In Proc OOPSLA, 2010. ACM Link

  • Eine empirische Studie zur statischen Typisierung in Ruby, M. Daly, V. Sazawal, J. Foster. In Proc PLATEAU, 2010. PDF

  • Ein kontrolliertes Experiment zur Bewertung der Vorteile der Argumenttypprüfung, Lutz Prechelt und Walter F. Tichy. IEEE TSE, 1998. IEEE Link

Ich bin sicher, dass es noch andere Papiere gibt. Im Allgemeinen ist dieser Bereich jedoch aus offensichtlichen Gründen äußerst umstritten - es ist wirklich schwierig, eine objektive Bewertung vorzunehmen !!


1

Eine berühmte Studie ist Lutz Prechelt. Ein empirischer Vergleich von sieben Programmiersprachen. IEEE Computer [33 (10): 23-29], Oktober 2000

Prechelt diskutiert die Programmzuverlässigkeit und untersucht auch die Ausführungszeit und den Speicherverbrauch.


0

Obwohl es nicht mit der Codequalität als solcher zu tun hat, wird in dieser Studie untersucht, wie Anfänger mit verschiedenen Sprachen lernen. Sie vergleichen insbesondere, wie sich Anfänger beim Lernen von Perl gegen Quorum schlagen, einer Unterrichtssprache, die die Autoren vergleichen möchten. Das wirklich Coole an diesem Artikel ist, dass sie tatsächlich eine Kontrollsprache entwickeln, bei der die Syntax zufällig generiert wird, als eine Art "Placebo" -Sprache. Dieser Ansatz kann sehr interessant sein, wenn er auf Sprachen und Codequalität angewendet wird und dabei hilft, einige dieser kniffligen Störfaktoren beim Vergleich von Sprachen zu kontrollieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.