Existem estudos empíricos sobre o efeito de diferentes idiomas na qualidade do software?

19

Os proponentes das linguagens de programação funcional afirmam que a programação funcional facilita o raciocínio sobre o código. Aqueles que são a favor de linguagens de tipo estaticamente dizem que seus compiladores detectam erros suficientes para compensar a complexidade adicional dos sistemas de tipos. Mas tudo o que li sobre esses tópicos é baseado em argumentos racionais, não em dados empíricos.

Existem estudos empíricos sobre quais efeitos as diferentes categorias de linguagens de programação têm sobre taxas de defeitos ou outras métricas de qualidade?

(As respostas a essa pergunta parecem indicar que não existem estudos, pelo menos não para o debate dinâmico versus estático)

jgre
fonte
6
Como você provavelmente pode imaginar, há um número ridículo de fatores de confusão envolvidos. Existem "estudos empíricos" por aí, mas são pouco mais do que histórias bem documentadas e devem receber o peso que isso justifica.
CA McCann
1
possível duplicação de estudos de idiomas com tipagem dinâmica ou estática
Steven A. Lowe
@ Steven: Esta questão parece ter um escopo mais amplo (talvez muito amplo).
Robert Harvey
Se você encontrasse esse estudo, o que faria com ele?
Jeffo
@ Robert existem estudos cocomo ao longo destas linhas, mas eles não fazem sentido - a menos que você já estudou seu próprio time, e isso é quase impossível de se fazer objetivamente
Steven A. Lowe

Respostas:

3

Há alguma pesquisa na academia sobre esse assunto. Aqui estão alguns exemplos que eu conheço, embora você deva tratar as conclusões com cautela:

  • Um experimento sobre sistemas de tipos estáticos e dinâmicos: dúvidas sobre o impacto positivo de sistemas de tipos estáticos no tempo de desenvolvimento, Stefan Hanenberg. No Proc OOPSLA, 2010. Link ACM

  • Um estudo empírico de tipagem estática em Ruby, M. Daly, V. Sazawal, J. Foster. In Proc PLATEAU, 2010. PDF

  • Um experimento controlado para avaliar os benefícios da verificação do tipo de argumento de procedimento, Lutz Prechelt e Walter F. Tichy. IEEE TSE, 1998. Link IEEE

Tenho certeza de que existem outros papéis. De um modo geral, no entanto, essa área é extremamente controversa por razões óbvias - é realmente difícil fazer uma avaliação objetiva !!

redjamjar
fonte
1

Um estudo famoso é Lutz Prechelt. Uma comparação empírica de sete linguagens de programação. IEEE Computer [33 (10): 23-29], outubro de 2000

Prechelt discute a confiabilidade do programa e também examina o tempo de execução e o consumo de memória.

Lorin Hochstein
fonte
0

Embora não esteja relacionado à qualidade do código, este estudo analisa como os iniciantes aprendem usando diferentes idiomas. Em particular, eles comparam como os novatos se saem quando aprendem Perl vs Quorum, um idioma de ensino que os autores desejam comparar. O que é realmente interessante neste artigo é que eles realmente apresentam uma linguagem de controle em que a sintaxe é gerada aleatoriamente, como uma espécie de linguagem "placebo". Essa abordagem pode ser realmente interessante se aplicada a idiomas e qualidade de código e ajudar a controlar alguns desses fatores complicados de confusão ao comparar idiomas.

joshin4colours
fonte