Revista: | Dyna (Medellín) |
Base de datos: | PERIÓDICA |
Número de sistema: | 000409445 |
ISSN: | 0012-7353 |
Autores: | Ortin, Francisco1 Quiroga, Jose1 Redondo, José M1 Garcia, Miguel1 |
Instituciones: | 1Universidad de Oviedo, Departamento de Ciencias de la Computación, Oviedo. España |
Año: | 2014 |
Periodo: | Ago |
Volumen: | 81 |
Número: | 186 |
Paginación: | 242-250 |
País: | Colombia |
Idioma: | Inglés |
Tipo de documento: | Artículo |
Enfoque: | Aplicado, descriptivo |
Resumen en español | Los multi-métodos seleccionan una de las implementaciones de un método sobrecargado, dependiendo en el tipo dinámico de sus argumentos. Aunque existen lenguajes que soportan multi-métodos, la mayoría de los lenguajes más extendidos no ofrecen esta funcionalidad. Por ello, es común ver el uso de distintos mecanismos auxiliares para obtener su funcionalidad. En este artículo evaluamos las alternativas existentes y presentamos una nueva basada en lenguajes con tipado híbrido. Una primera evaluación cualitativa analiza factores como la mantenibilidad, legibilidad, tamaño del código fuente, generalización de los parámetros y comprobación estática de tipos. También presentamos una evaluación cuantitativa del rendimiento en tiempo de ejecución y consumo de memoria |
Resumen en inglés | Multiple dispatch allows determining the actual method to be executed, depending on the dynamic types of its arguments. Although some programming languages provide multiple dispatch, most widespread object-oriented languages lack this feature. Therefore, different implementation techniques are commonly used to obtain multiple dispatch in these languages. We evaluate the existing approaches, presenting a new one based on hybrid dynamic and static typing. A qualitative evaluation is presented, considering factors such as software maintainability and readability, code size, parameter generalization, and compile-time type checking. We also perform a quantitative assessment of runtime performance and memory consumption |
Disciplinas: | Ciencias de la computación |
Palabras clave: | Programación, Lenguajes orientados a objetos, Multi-métodos, Enlace dinámico, Tipaje híbrido |
Keyword: | Computer science, Programming, Object oriented languages, Multi-methods, Dynamic binding, Hybrid typing |
Texto completo: | Texto completo (Ver HTML) |