Dylan (lenguaje de programación)
# Dylan (lenguaje de programación)

Dylan es un lenguaje de programación funcional y orientado a objetos. Fue creado a principios de los años 1990 por iniciativa de Apple Computer.

Dylan es, en esencia, una versión depurada y simplificada de CLOS, un sistema de programación orientado a objetos desarrollado en Common Lisp. En Dylan, la mayoría de las entidades (incluyendo los tipos de datos primitivos, métodos y clases) son objetos de “primera clase”. Los programas pueden ser escritos desde una forma fuertemente tipeada a una forma débilmente tipeada. Dylan soporta herencia múltiple, polimorfismo, palabras clave, macros, y muchas otras características avanzadas.

La meta de Dylan es ser un lenguaje apropiado para el desarrollo de software comercial.

## Historia

Dylan fue creado a principios de los años 90 por iniciativa de Apple Computer. Durante el desarrollo, se intentó usarlo con los ordenadores de Apple Newton, pero la implementación del lenguaje no estuvo listo a tiempo, y Newton usó una combinación de C y el lenguaje de programación NewtonScript (desarrollado por Walter Smith) en su lugar. Apple concluyó su desarrollo de Dylan en 1995.

Otros dos grupos contribuyeron al diseño del lenguaje y desarrollaron implementaciones: la compañía de software ‘’’Harlequin’’’ lanzó un entorno de desarrollo integrado para Microsoft Windows y ‘’’Carnegie Mellon University’’’ lanzó un compilador para sistemas Unix. Ambas implementaciones son hoy en día de código abierto y son mantenidas por un grupo de voluntarios.

El lenguaje Dylan tuvo como nombre en clave ‘Ralph’. James Joaquin eligió el nombre Dylan por “DYnamic LANguage” (lenguaje dinámico).

## Sintaxis

En un principio, Dylan usaba la sintaxis Lisp, que está basada en expresiones simbólicas:

El lenguaje fue entonces cambiado para usar una sintaxis al estilo Algol, diseñada por Mike Kahl, la cual sería más familiar para los programadores de C.

Al igual que otros lenguajes de programación funcionales, la última evaluación en una función es el valor de retorno. Esto quiere decir que el siguiente código es una función válida, devolviendo uno de dos posibles valores para una llamada a la función:

