Dans cet article, nous allons plonger dans le monde passionnant de Dylan (langage) et explorer toutes ses facettes, de son impact sur la société à ses applications dans la vie quotidienne. Dylan (langage) a toujours suscité l'intérêt et la curiosité des gens, puisque son influence a été importante au fil du temps. Dans cette optique, nous découvrirons toutes les dimensions de Dylan (langage) et analyserons sa pertinence dans différents contextes. Sans aucun doute, ce sujet est de la plus haute importance et mérite notre attention, nous allons donc nous lancer dans un voyage de découverte pour mieux comprendre Dylan (langage) et son rôle dans le monde d'aujourd'hui.
| Dylan | |
| Date de première version | 1992 pour la publication de sa première spécification |
|---|---|
| Paradigmes | Objet, fonctionnel |
| Auteur | Apple Computer |
| Dernière version | 2014.1 (31.12.2014) |
| Typage | dynamique fort |
| Influencé par | CLOS, C++, Algol, Scheme |
| A influencé | Ruby, Goo |
| Implémentations | Open Dylan, Gwydion Dylan |
| Système d'exploitation | Multiplate-forme |
| Site web | Open Dylan |
| modifier |
|
Dylan est un langage de programmation dynamique, réflexif, orienté objet et fonctionnel. Il propose un modèle de programmation axé vers une génération efficace de code machine. Il a été créé au début des années 1990 par un groupe conduit par Apple pour son PDA, l'Apple Newton.
À l'origine, Dylan utilisait une syntaxe préfixée, similaire à Scheme ou LISP, basée sur les S-expressions :
(bind ((radius 5)
(circumference (* 2 $pi radius)))
(if (> circumference 42)
(format-out "Hello big circle! c is %=" circumference)
(format-out "Hello circle! c is %=" circumference)))
Avant que la conception du langage ne soit terminée, elle fut remplacée par une syntaxe proche de l'Algol, conçue par Michael Kahl, dans l'espoir qu'elle serait familière au plus grand nombre de développeurs :
let radius = 5;
let circumference = 2 * $pi * radius;
if (circumference > 42)
format-out("Hello, big circle! c is %=", circumference);
else
format-out("Hello, circle! c is %=", circumference);
end if
Comme dans d'autres langages fonctionnels, le résultat d'une fonction est sa dernière expression évaluée (l'instruction return est donc inutile). L'exemple suivant montre l'implémentation récursive de la fonction factorielle.
define method factorial(n :: <integer>) if (n = 0) 1 else n * factorial(n - 1) end end method;
Outre son utilisation pour le PDA Newton d'Apple, Dylan est employé pour :