spelling |
Eduardo Magno Lages FigueiredoFernando Magno Quintao PereiraMarcelo de Almeida MaiaCarlos Alexandre Garcia de Souza2019-08-10T04:17:39Z2019-08-10T04:17:39Z2014-04-03http://hdl.handle.net/1843/ESBF-9Q3N3ZA recente popularização de linguagens dinamicamente tipadas, como Ruby e Javascript, tem chamado a atenção para a discussão sobre os impactos de diferentes sistemas de tipos sobre o desenvolvimento de software. Tipos permitem que o compilador encontre erros de tipo mais cedo e potencialmente melhoram a legibilidade e manutenibilidade do código. Por outro lado, código 'não tipado' pode ser mais fácil de se alterar e requer menos trabalho dos programdores. Esta dissertação tenta identificar qual é o ponto de vista dos programdores sobre esses compromissos. Uma análise do código fonte de 6638 projetos escritos em Groovy, uma linguagem de programação com tipagem opcional, mostra em que cenários programadores preferem tipar ou não suas declarações. Nossos resultados mostram que tipos são populares na definição da interface de módulos, mas são menos usados em scripts, classes de teste e código frequentemente alterado. Não há correlação entre o tamanho e a idade de projetos e como estes são tipados. Por fim, tambem foi possível encontrar evidências de que a experiência de programdores com outras linguagens de programação possui influência sobre como tipos são usados por esses programadores.The recent popularization of dynamically typed languages, such as Ruby and JavaScript, has brought more attention to the discussion about the impact of typing strategies on software development. Types allow the compiler to find type errors sooner and potentially improve the readability and maintainability of code. On the other hand, 'untyped' code may be easier to change and require less work from programmers. This paper tries to identify the programmers' point of view about these tradeoffs. An analysis of the source code of 6638 projects written in Groovy, a programming language which features optional typing, shows in which scenarios programmers prefer to type or not to type their declarations. Our results show that types are popular in the definition of module interfaces, but are less used in scripts, test classes and frequently changed code. There is no correlation between the size and age of projects and how their constructs are typed. Finally, we also found evidence that the background of programmers influences how they use types.Universidade Federal de Minas GeraisUFMGComputaçãoLinguagem de programaçãoTipagem opcionalSistemas de tiposAnálise de repositórioGroovyUm estudo empírico sobre o uso de tipagem opcional em sistemas de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALcarlosalexandregarcia.pdfapplication/pdf3663919https://repositorio.ufmg.br/bitstream/1843/ESBF-9Q3N3Z/1/carlosalexandregarcia.pdffc435937f668f42d075bf9608b49e462MD51TEXTcarlosalexandregarcia.pdf.txtcarlosalexandregarcia.pdf.txtExtracted texttext/plain112244https://repositorio.ufmg.br/bitstream/1843/ESBF-9Q3N3Z/2/carlosalexandregarcia.pdf.txteb128c5830fea56bef6fdad9760a21bcMD521843/ESBF-9Q3N3Z2019-11-14 04:23:52.794oai:repositorio.ufmg.br:1843/ESBF-9Q3N3ZRepositório InstitucionalPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T07:23:52Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
|