¿Hay evidencia de que usar lenguajes dinámicos tiene un impacto en la productividad?

25

Me pregunto si hay experimentos que muestren la existencia o la inexistencia de una correlación entre el uso de un lenguaje dinámico (como Python, Ruby o incluso lenguajes que se ejecutan en la plataforma Java como Groovy, Clojure) en un lenguaje estático (como C / C ++), y la diferencia en la productividad.

Ken Li
fuente
3
Una comparación empírica de C, C ++, Java, Perl, Python, Rexx y Tcl para un programa de búsqueda / procesamiento de cadenas es un documento bueno y clásico que cubre muchos aspectos relacionados con el software (incluida la productividad) de manera práctica.
adicto
66
¿Cómo es Java dinámico?
svick
55
Tengo problemas para percibir esta pregunta como onópica, pero como pide específicamente experimentos, debería estar bien. Por favor, mantenga las respuestas en consecuencia rigurosas.
Raphael
1
Previamente hice esta pregunta exacta a los programadores: programmers.stackexchange.com/questions/10032/… , espero que obtengan mejores respuestas que yo.
Winston Ewert
3
Este es el tipo de pregunta en la que los investigadores deberían estar trabajando. Considero que está en el tema.
Dave Clarke

Respuestas:

11

Si bien no estoy al tanto de la investigación sobre la productividad, ha habido investigaciones sobre la comprensión. Philip Wadler ha estado recopilando enlaces a documentos sobre este tema: vea esta publicación y esta .

Suresh
fuente
3
De un vistazo, todos parecen ser funcionales frente a imperativos, no estáticos frente a dinámicos.
sepp2k
Además del comentario de seepp2k, el uso de Wadler de estos estudios es exactamente el peligro de la ciencia empírica: ¡generalizaciones defectuosas!
Uday Reddy
8

Específicamente en productividad, Hanenberg ha investigado el impacto en el tiempo de desarrollo cuando se implementó la misma tarea en Java (estática) versus Groovy (dinámica). Sus resultados se describen en el siguiente documento:

Sistemas de tipo estático versus dinámico: un estudio empírico sobre la relación entre los tipos de letra y el tiempo de desarrollo , 2011.

También se ha investigado el impacto del tipeo estático / dinámico en la mantenibilidad del software. Este es un artículo muy reciente sobre el tema:

Un estudio empírico sobre el impacto del tipeo estático en la mantenibilidad del software , 2014

Los autores también han publicado trabajos anteriores sobre la misma área, incluido este (también incluido en uno de los enlaces que mencionó Suresh):

¿Los sistemas de tipo estático mejoran la mantenibilidad de los sistemas de software? Un estudio empírico , 2012 (PDF disponible)

Además, si tiene la intención de seguir este tema de investigación, tenga en cuenta que uno de los problemas clave aquí es la definición de productividad , y cómo exactamente va a medirla.

rla4
fuente