Gibt es Hinweise darauf, dass sich die Verwendung dynamischer Sprachen auf die Produktivität auswirkt?

25

Ich frage mich, ob es irgendwelche Experimente gibt, die das Vorhandensein oder Nichtvorhandensein einer Korrelation zwischen der Verwendung einer dynamischen Sprache (wie Python, Ruby oder sogar Sprachen, die auf der Java-Plattform wie Groovy, Clojure ausgeführt werden) über a zeigen statische Sprache (wie C / C ++) und der Unterschied in der Produktivität.

Ken Li
quelle
3
Ein empirischer Vergleich von C, C ++, Java, Perl, Python, Rexx und Tcl für ein Such- / Zeichenkettenverarbeitungsprogramm ist eine gute und klassische Arbeit, die viele softwarebezogene Aspekte (einschließlich der Produktivität) auf praktische Weise abdeckt.
süchtig
6
Wie ist Java dynamisch?
Svick
5
Ich habe Probleme, diese Frage als ontopisch wahrzunehmen, aber da es speziell um Experimente geht, sollte es in Ordnung sein. Bitte halten Sie die Antworten entsprechend streng.
Raphael
1
Ich habe Programmierern zuvor genau diese Frage gestellt: programmers.stackexchange.com/questions/10032/… , hoffentlich erhalten Sie bessere Antworten als ich.
Winston Ewert
3
Dies ist die Art von Frage, an der Forscher eigentlich arbeiten sollten. Ich halte es für ein Thema.
Dave Clarke

Antworten:

11

Mir ist zwar keine Produktivitätsforschung bekannt, aber es wurde nach Verständnis geforscht. Philip Wadler hat Links zu Artikeln zu diesem Thema gesammelt: siehe diesen und diesen Beitrag .

Suresh
quelle
3
Auf den ersten Blick geht es bei allen um funktionales vs. imperatives, nicht um statisches vs. dynamisches.
Sep2k
Neben dem Kommentar von seepp2k ist Wadlers Verwendung dieser Studien genau die Gefahr der empirischen Wissenschaft: fehlerhafte Verallgemeinerungen!
Uday Reddy
8

Hanenberg hat die Auswirkungen auf die Entwicklungszeit untersucht, als dieselbe Aufgabe in Java (statisch) und Groovy (dynamisch) implementiert wurde. Ihre Ergebnisse wurden in dem folgenden Artikel beschrieben:

Statische vs. dynamische Typensysteme: Eine empirische Studie über die Beziehung zwischen Typengüssen und Entwicklungszeit , 2011.

Es wurden auch Untersuchungen zum Einfluss der statischen / dynamischen Typisierung auf die Softwarewartbarkeit durchgeführt. Dies ist ein sehr neuer Artikel zu diesem Thema:

Eine empirische Studie zu den Auswirkungen der statischen Typisierung auf die Wartbarkeit von Software , 2014

Die Autoren haben auch frühere Arbeiten zu demselben Thema veröffentlicht, einschließlich dieser (ebenfalls in einem der von Suresh erwähnten Links aufgeführt):

Verbessern statische Systeme die Wartbarkeit von Softwaresystemen? Eine empirische Studie , 2012 (PDF verfügbar)

Wenn Sie dieses Forschungsthema weiterverfolgen möchten, bedenken Sie außerdem, dass eines der Hauptprobleme hier die Definition der Produktivität ist - und wie genau Sie sie messen werden.

rla4
quelle