Dylan , a enciclopedia libre
Dylan é unha linguaxe de programación funcional e orientada a obxectos.
Vén sendo unha versión depurada e simplificada de CLOS, un sistema de programación orientada a obxectos desenvolto en Common Lisp. En Dylan, a maioría das entidades (incluíndo os tipos de datos primitivos, métodos e clases) son obxectos de primeira “clase”. Os programas poden ser escritos desde unha forma fortemente tipeada a unha forma debilmente tipeada. Dylan soporta herdanza múltiple, polimorfismo, palabras clave, macros, e moitas outras características avanzadas.
A meta de Dylan é ser unha linguaxe apropiada para o desenvolvemento de software comercial.
Historia
editarDylan foi creado a principios dos anos 90 por iniciativa de Apple Computer. Durante o desenvolvemento, intentouse usalo cos computadores de Apple Newton, pero a implementación da linguaxe non estivo listo a tempo, e Newton usou unha combinación de C e a linguaxe de programación NewtonScript (desenvolvido por Walter Smith) no seu lugar. Apple concluíu o seu desenvolvemento de Dylan en 1995.
Outros dous grupos contribuíron ao deseño da linguaxe e desenvolveron implementaciones: a compañía de software Harlequin lanzou un contorna de desenvolvemento integrado para Microsoft Windows e Carnegie Mellon University lanzou un compilador para sistemas Unix. Ambas as implementaciones son hoxe en día open source (de código aberto) e son mantidas por un grupo de voluntarios.
A linguaxe Dylan tivo como nome en clave ‘Ralph'. James Joaquin elixiu o nome Dylan por DYnamic “LANguage” (linguaxe dinámica).
Sintaxe
editarNun principio, Dylan usaba a sintaxe Lisp, que está baseada en expresións simbólicas:
(bind ((radio 5) (circunferencia (* 2 radio))) (if (> circunferencia 42) (format-out "¡É un círculo grande! c é %=" circunferencia) (format-out "É un círculo. c é %=" circunferencia)))
A linguaxe foi entón cambiada para usar unha sintaxe ao estilo Algol, deseñada por Mike Kahl, a cal sería máis familiar para os programadores de C.
begin let radio = 5; let circunferencia = 2 * * radio; if (circunferencia > 42) format-out("¡É un círculo grande! c = %=", circunferencia); else format-out("É un círculo c é %=", circunferencia); end if end
Do mesmo xeito que outras linguaxes de programación funcionais, a última avaliación nunha función é o valor de retorno. Isto quere dicir que o seguinte código é unha función válida, devolvendo un de dous posibles valores para unha chamada á función:
define method a_number(isTen :: <string>) if (isTen = "10") 10; else 11; end if; end method;
Véxase tamén
editarLigazóns externas
editar- Gwydion Maintainers (en inglés).
- Tutorial de Dylan (en inglés).