I am wondering if there are any experiments that show the existence or the non-existence of a correlation between usage of a dynamic language (such as Python, Ruby, or even languages that run on the Java platform such as Groovy, Clojure) over a static language (such as C/C++), and the difference in the productivity.
2 Answers
Specifically on productivity, Hanenberg has investigated the impact in development time when the same task was implemented in Java (static) vs Groovy (dynamic). Their results were described in the following paper:
There's also been research on the impact of static/dynamic typing in software maintainability. This is a very recent paper on the subject:
An empirical study on the impact of static typing on software maintainability, 2014
The authors have also published previous work on the same area, including this one (also listed in one of the links that Suresh mentioned):
Do Static Type Systems Improve the Maintainability of Software Systems? An Empirical Study, 2012 (PDF available)
Furthermore, if you intend to pursue this research topic, keep in mind that one of the key problems here is the definition of productivity - and how exactly are you going to measure it.
- 371
- 2
- 7