[en] TYPING DYNAMIC LANGUAGES: A REVIEW
[pt] Linguagens de programação tem tradicionalmente sido classificadas como estaticamente tipadas ou dinamicamente tipadas, estas últimas também sendo conhecidas como linguagens de scripting. Linguagens com tipagem dinâmica são bastante populares para a escrita de programas menores, um cenário onde...
Main Author: | |
---|---|
Other Authors: | |
Language: | en |
Published: |
MAXWELL
2016
|
Subjects: | |
Online Access: | https://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=26999@1 https://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=26999@2 http://doi.org/10.17771/PUCRio.acad.26999 |
id |
ndltd-puc-rio.br-oai-MAXWELL.puc-rio.br-26999 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-puc-rio.br-oai-MAXWELL.puc-rio.br-269992018-07-12T04:46:19Z[en] TYPING DYNAMIC LANGUAGES: A REVIEW[pt] TIPANDO LINGUAGENS DINÂMICAS: UMA REVISÃOHUGO MUSSO GUALANDI[pt] SISTEMAS DE TIPOS[en] TYPE SYSTEMS[pt] LINGUAGEM DINAMICA[pt] Linguagens de programação tem tradicionalmente sido classificadas como estaticamente tipadas ou dinamicamente tipadas, estas últimas também sendo conhecidas como linguagens de scripting. Linguagens com tipagem dinâmica são bastante populares para a escrita de programas menores, um cenário onde a facilidade de uso e flexibilidade da linguagem são altamente valorizados. No entanto, com o passar do tempo, pequenos scripts podem se tornar grandes sistemas e a flexibilidade da linguagem pode passar a ser uma fonte de defeitos no programa. Para estes sistemas maiores, a tipagem estática, que oferece detecção de erros em tempo de compilação, melhor documentação e oportunidades de otimização, passa a ser mais atrativa. Como reescrever todo o sistema em uma linguagem estática não é ideal do ponto de um vista da engenharia de software, encontrar formas de adicionar tipos estáticos em programas dinamicamente tipados já existentes tem sido uma área de pesquisa bem rica. Nesse trabalho, nós apresentamos uma perspectiva histórica dessa pesquisa. Nos focamos em abordagens que não são específicas para uma única linguagem de programação, como as Type Hints de Common LISP, o Soft Typing de Fagan et al e o Gradual Typing de Siek et al, contrastando essas diferentes soluções a partir de uma perspectiva moderna.[en] Programming languages have traditionally been classified as either statically typed or dynamically typed, the latter often being known as scripting languages. Dynamically typed languages are very popular for writing smaller programs, a setting where ease of use and flexibility of the language are highly valued. However, with time, small scripts tend to evolve into large systems and the flexibility of the dynamic language may become a source of program defects. For these larger systems, static typing, which offers compile-time error detection, improved documentation and optimization opportunities, becomes more attractive. Since rewriting the whole system in a statically typed language is not ideal from a software engineering point of view, investigating ways of adding static types to existing dynamically typed programs has been a thriving research area. In this work, we present a historical overview of this research. We focus on general approaches that apply to multiple programming languages, such as the Type Hints of Common LISP, the Soft Typing of Fagan et al and the Gradual Typing of Siek et al, contrasting these different solutions from a modern perspective.MAXWELLROBERTO IERUSALIMSCHY2016-07-25TEXTOhttps://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=26999@1https://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=26999@2http://doi.org/10.17771/PUCRio.acad.26999en |
collection |
NDLTD |
language |
en |
sources |
NDLTD |
topic |
[pt] SISTEMAS DE TIPOS [en] TYPE SYSTEMS [pt] LINGUAGEM DINAMICA |
spellingShingle |
[pt] SISTEMAS DE TIPOS [en] TYPE SYSTEMS [pt] LINGUAGEM DINAMICA HUGO MUSSO GUALANDI [en] TYPING DYNAMIC LANGUAGES: A REVIEW |
description |
[pt] Linguagens de programação tem tradicionalmente sido classificadas como
estaticamente tipadas ou dinamicamente tipadas, estas últimas também
sendo conhecidas como linguagens de scripting. Linguagens com tipagem
dinâmica são bastante populares para a escrita de programas menores, um
cenário onde a facilidade de uso e flexibilidade da linguagem são altamente
valorizados. No entanto, com o passar do tempo, pequenos scripts podem
se tornar grandes sistemas e a flexibilidade da linguagem pode passar a ser
uma fonte de defeitos no programa. Para estes sistemas maiores, a tipagem
estática, que oferece detecção de erros em tempo de compilação, melhor documentação
e oportunidades de otimização, passa a ser mais atrativa. Como
reescrever todo o sistema em uma linguagem estática não é ideal do ponto de
um vista da engenharia de software, encontrar formas de adicionar tipos estáticos
em programas dinamicamente tipados já existentes tem sido uma área
de pesquisa bem rica. Nesse trabalho, nós apresentamos uma perspectiva
histórica dessa pesquisa. Nos focamos em abordagens que não são específicas
para uma única linguagem de programação, como as Type Hints de
Common LISP, o Soft Typing de Fagan et al e o Gradual Typing de Siek et al,
contrastando essas diferentes soluções a partir de uma perspectiva moderna. === [en] Programming languages have traditionally been classified as either statically
typed or dynamically typed, the latter often being known as scripting
languages. Dynamically typed languages are very popular for writing smaller
programs, a setting where ease of use and flexibility of the language are highly
valued. However, with time, small scripts tend to evolve into large systems
and the flexibility of the dynamic language may become a source of program
defects. For these larger systems, static typing, which offers compile-time
error detection, improved documentation and optimization opportunities, becomes
more attractive. Since rewriting the whole system in a statically typed
language is not ideal from a software engineering point of view, investigating
ways of adding static types to existing dynamically typed programs has been
a thriving research area. In this work, we present a historical overview of this
research. We focus on general approaches that apply to multiple programming
languages, such as the Type Hints of Common LISP, the Soft Typing of
Fagan et al and the Gradual Typing of Siek et al, contrasting these different
solutions from a modern perspective. |
author2 |
ROBERTO IERUSALIMSCHY |
author_facet |
ROBERTO IERUSALIMSCHY HUGO MUSSO GUALANDI |
author |
HUGO MUSSO GUALANDI |
author_sort |
HUGO MUSSO GUALANDI |
title |
[en] TYPING DYNAMIC LANGUAGES: A REVIEW |
title_short |
[en] TYPING DYNAMIC LANGUAGES: A REVIEW |
title_full |
[en] TYPING DYNAMIC LANGUAGES: A REVIEW |
title_fullStr |
[en] TYPING DYNAMIC LANGUAGES: A REVIEW |
title_full_unstemmed |
[en] TYPING DYNAMIC LANGUAGES: A REVIEW |
title_sort |
[en] typing dynamic languages: a review |
publisher |
MAXWELL |
publishDate |
2016 |
url |
https://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=26999@1 https://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=26999@2 http://doi.org/10.17771/PUCRio.acad.26999 |
work_keys_str_mv |
AT hugomussogualandi entypingdynamiclanguagesareview AT hugomussogualandi pttipandolinguagensdinamicasumarevisao |
_version_ |
1718711918055653376 |