¿Existen estudios empíricos sobre el efecto de diferentes idiomas en la calidad del software?

19

Los defensores de los lenguajes de programación funcional afirman que la programación funcional hace que sea más fácil razonar sobre el código. Los partidarios de los lenguajes de tipo estático dicen que sus compiladores detectan suficientes errores para compensar la complejidad adicional de los sistemas de tipos. Pero todo lo que leo sobre estos temas se basa en argumentos racionales, no en datos empíricos.

¿Existen estudios empíricos sobre qué efectos tienen las diferentes categorías de lenguajes de programación en las tasas de defectos u otras métricas de calidad?

(Las respuestas a esta pregunta parecen indicar que no existen tales estudios, al menos no para el debate dinámico vs. estático)

jgre
fuente
66
Como probablemente pueda imaginar, hay una cantidad ridícula de factores de confusión involucrados. Existen "estudios empíricos", pero son poco más que anécdotas bien documentadas y se les debe dar tanto peso como lo justifique.
CA McCann
1
posible duplicado de estudios de idiomas dinámicamente vs estáticamente tipados
Steven A. Lowe
@ Steven: Esta pregunta parece tener un alcance más amplio (quizás demasiado amplio).
Robert Harvey
Si encontraras tal estudio, ¿qué harías con él?
JeffO
@Robert hay estudios de COCOMO en este sentido, pero no tienen sentido, a menos que hayas estudiado a tu propio equipo, y eso es casi imposible de hacer objetivamente
Steven A. Lowe

Respuestas:

3

Hay algunas investigaciones en la academia sobre este tema. Aquí hay algunos ejemplos que conozco, aunque debe tratar las conclusiones con precaución:

  • Un experimento sobre sistemas de tipos estáticos y dinámicos: dudas sobre el impacto positivo de los sistemas de tipos estáticos en el tiempo de desarrollo, Stefan Hanenberg. En Proc OOPSLA, 2010. Enlace ACM

  • Un estudio empírico de mecanografía estática en Ruby, M. Daly, V. Sazawal, J. Foster. En Proc PLATEAU, 2010. PDF

  • Un experimento controlado para evaluar los beneficios de la verificación del tipo de argumento del procedimiento, Lutz Prechelt y Walter F. Tichy. IEEE TSE, 1998. Enlace IEEE

Estoy seguro de que hay otros documentos. En términos generales, sin embargo, esta área es extremadamente controvertida por razones obvias: ¡es realmente difícil hacer una evaluación objetiva!

redjamjar
fuente
1

Un estudio famoso es Lutz Prechelt. Una comparación empírica de siete lenguajes de programación. Computadora IEEE [33 (10): 23-29], octubre de 2000

Prechelt analiza la confiabilidad del programa y también examina el tiempo de ejecución y el consumo de memoria.

Lorin Hochstein
fuente
0

Aunque no está relacionado con la calidad del código como tal, este estudio analiza cómo los principiantes aprenden usando diferentes idiomas. En particular, comparan cómo les va a los principiantes cuando aprenden Perl vs Quorum, un lenguaje de enseñanza que los autores desean comparar. Lo que es realmente genial de este artículo es que en realidad tienen un lenguaje de control donde la sintaxis se genera aleatoriamente, como una especie de lenguaje "placebo". Este enfoque puede ser realmente interesante si se aplica a los idiomas y la calidad del código y ayuda a controlar algunos de esos factores de confusión difíciles al comparar idiomas.

joshin4colours
fuente