Há evidências de que o uso de linguagens dinâmicas afeta a produtividade?

25

Gostaria de saber se existem experimentos que mostrem a existência ou a inexistência de uma correlação entre o uso de uma linguagem dinâmica (como Python, Ruby ou mesmo linguagens executadas na plataforma Java, como Groovy, Clojure) em um linguagem estática (como C / C ++) e a diferença na produtividade.

Ken Li
fonte
3
Uma comparação empírica de C, C ++, Java, Perl, Python, Rexx e Tcl para um programa de processamento de pesquisa / cadeia de caracteres é um artigo bom e clássico que abordou muitos aspectos relacionados a software (incluindo produtividade) de maneira prática.
viciado
6
Como o Java é dinâmico?
svick
5
Tenho dificuldade em perceber esta questão como ontópica, mas, como pede especificamente experiências, deve estar bem. Por favor, mantenha as respostas rigorosas.
Raphael
11
Eu já fiz essa pergunta exata sobre programadores: programmers.stackexchange.com/questions/10032/… , espero que você obtenha respostas melhores do que eu.
Winston Ewert
3
Esse é o tipo de pergunta na qual os pesquisadores realmente deveriam estar trabalhando. Eu considero que seja sobre tópico.
Dave Clarke

Respostas:

11

Embora eu não esteja ciente de pesquisas sobre produtividade, houve pesquisas sobre compreensão. Philip Wadler tem colecionado links para artigos sobre este tópico: veja este post e este .

Suresh
fonte
3
À primeira vista, tudo isso parece ser funcional versus imperativo, não estático versus dinâmico.
sepp2k
Além do comentário de seepp2k, o uso desses estudos por Wadler é exatamente os perigos da ciência empírica: generalizações defeituosas!
Uday Reddy
8

Especificamente sobre produtividade, Hanenberg investigou o impacto no tempo de desenvolvimento quando a mesma tarefa foi implementada em Java (estático) vs Groovy (dinâmico). Seus resultados foram descritos no seguinte artigo:

Sistemas de tipo estático vs. dinâmico: um estudo empírico sobre a relação entre conversão de tipos e tempo de desenvolvimento , 2011.

Também houve pesquisas sobre o impacto da digitação estática / dinâmica na manutenção do software. Este é um artigo muito recente sobre o assunto:

Um estudo empírico sobre o impacto da tipagem estática na manutenção de software , 2014

Os autores também publicaram trabalhos anteriores na mesma área, incluindo este (também listado em um dos links mencionados por Suresh):

Os sistemas de tipo estático melhoram a manutenção de sistemas de software? Um Estudo Empírico , 2012 (PDF disponível)

Além disso, se você pretende seguir este tópico de pesquisa, lembre-se de que um dos principais problemas aqui é a definição de produtividade - e como exatamente você a medirá.

rla4
fonte