25

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.

Ken Li
  • 3,106
  • 3
  • 24
  • 38

2 Answers2

11

While I'm not aware of research on productivity, there's been research on comprehension. Philip Wadler has been collecting links to papers on this topic: see this post and this one.

Suresh
  • 5,417
  • 2
  • 28
  • 31
8

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:

Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time, 2011.

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.

rla4
  • 371
  • 2
  • 7