quarta-feira, 5 de novembro de 2014

Línguas não se reproduzem erros, PESSOAS reproduzem erros, dizer boffins


Controle remoto para desktops virtualizados


Se você quiser desencadear uma guerra religiosa, expressa uma preferência inabalável para uma linguagem de programação, e por preferência, faça a sua coisa favorita relativamente obscura, como Erlang. Acontece que, de acordo com um estudo realizado por um grupo de boffins UC Davis, as diferenças de qualidade de código entre as línguas são muito pequenos.


A ser apresentado em Fundações da ACM de Engenharia de Software (FSE) simpósio em Hong Kong em meados de novembro, o papel, uma escala grande o Estudo de Linguagens de Programação e Código de Qualidade em Github, mesmo analisando 729 projetos, 80 milhões de linhas de código, 1.5 milhão de commits de 29 mil ou mais autores em 17 línguas só encontraram efeitos "modestos" provenientes do software de linguagem escrita em.







Enquanto tipagem forte é um pouco melhor do que tipagem fraca, e em linguagens funcionais tipagem estática é um pouco melhor do que tipagem dinâmica e gerenciado memória é melhor do que não gerenciado, os autores (Baishakhi Ray, Daryl Posnett, Vladimir Filkov e Premkumar Devanbu do departamento UC Davis de comp. sci) achar que "efeitos modestos decorrentes de design de linguagem são esmagadoramente dominado pelos fatores de processo, como o tamanho do projeto, o tamanho da equipe, e cometer tamanho".


Não só isso, eles suspeitam que mesmo tipo de personalidade (ligada a uma preferência por diferentes tipos de linguagem) pode ser mais importante do que a linguagem de programação.


As linguagens variou de C e C ++ através de Ruby, JavaScript, Python, Perl e até Erlang, como mostrado na tela-grab do papel, abaixo.


"Genérico" erros de programação, os pesquisadores descobriram, erros esmagadoramente dominam - coisas como "manipulação incorreta de erros, erros de tipo, erros de digitação, erros de compilação, controle de fluxo incorreta e erros de inicialização de dados". Aqueles responsáveis ​​por mais de 88 por cento dos erros os pesquisadores identificados. O resto foi feito de erros de memória de manipulação, erros de simultaneidade e erros algorítmicos.


C, C ++, JavaScript, Objective-C, PHP e Python teve taxas de erro ligeiramente mais elevados. "As línguas Clojure, Haskell, Ruby, Scala, e dactilografados, todos têm coeficientes negativos que implica que essas línguas são menos propensos do que a média para resultar na fixação de defeito compromete."


No entanto, eles afirmam que, embora os efeitos que observados foram grandes o suficiente para ser estatisticamente significativa, os efeitos são "muito pequeno". Na melhor das hipóteses, eles concluem, linguagens funcionais pode ser "melhor" do que as linguagens procedurais.


Ah, e Erlang, que Vulture Sul mencionado no início em uma veia humores? Ele mostrou nenhum preconceito de ser "melhor" ou "pior".


O papel é aqui . ®







via Alimentação (Feed)

Nenhum comentário:

Postar um comentário