Including both static and dynamic typing in the same programming language

Dynamic languages are becoming increasingly popular for different software development scenarios such as Web engineering, rapid prototyping or the construction of applications that require runtime adaptiveness. These languages are built on the idea of supporting reasoning about (and customising) pro...

ver descrição completa

Detalhes bibliográficos
Autores: Ortín Soler, Francisco|||0000-0003-1199-8649, Zapico Rodríguez, Daniel Agustín, García Pérez-Schofield, José Baltasar, García Rodríguez, Miguel|||0000-0002-3150-2826
Tipo de documento: artigo
Data de publicação:2010
País:España
Recursos:Universidad de Oviedo (UNIOVI)
Repositório:RUO. Repositorio Institucional de la Universidad de Oviedo
Idioma:inglês
OAI Identifier:oai:digibuo.uniovi.es:10651/9769
Acesso em linha:http://hdl.handle.net/10651/9769
https://dx.doi.org/10.1049/iet-sen.2009.0070
Access Level:Acceso aberto
Descrição
Resumo:Dynamic languages are becoming increasingly popular for different software development scenarios such as Web engineering, rapid prototyping or the construction of applications that require runtime adaptiveness. These languages are built on the idea of supporting reasoning about (and customising) program structure, behaviour and environment at runtime. The dynamism offered by dynamic languages is, however, counteracted by two main limitations: no early type error detection and fewer opportunities for compiler optimisations. To obtain the benefits of both dynamically and statically typed languages, the authors have designed the StaDyn programming language that provides both approaches. StaDyn keeps gathering-type information at compile time, even when dynamic variables are used. This type information is used to offer early type error detection, direct interoperation between static and dynamic codes and better runtime performance. Following the Separation of Concerns principle, it is possible to customise the trade-off between runtime flexibility of dynamic typing and safety, performance and robustness of static typing. A runtime performance assessment is presented to show an estimate of the benefits of combining dynamic and static typing in the same programming language