Введение
Многопарадигматический язык программирования
Dylan — это многопарадигматический язык программирования, включающий поддержку функционального и объектно-ориентированного программирования (ООП), динамический и рефлексивный, при этом предоставляющий модель программирования, разработанную для генерации эффективного машинного кода, включая детальный контроль над динамическим и статическим поведением. Он был создан в начале 1990-х годов группой под руководством Apple Computer. Dylan берет начало от Scheme и Common Lisp и добавляет интегрированную объектную систему, основанную на Common Lisp Object System (CLOS). В Dylan все значения (включая числа, символы, функции и классы) являются объектами первого класса. Dylan поддерживает множественное наследование, полиморфизм, множественную диспетчеризацию, аргументы, задаваемые по ключевым словам, интроспекцию объектов, макросы расширения синтаксиса на основе шаблонов и множество других продвинутых возможностей. Программы могут обеспечивать детальный контроль над динамичностью, позволяя создавать программы, занимающие место в континууме между динамическим и статическим программированием, и поддерживая эволюционную разработку (обеспечивающую быстрое прототипирование с последующей поэтапной доработкой и оптимизацией). Основная цель Dylan — быть динамическим языком, хорошо подходящим для разработки коммерческого программного обеспечения. Dylan стремится решить потенциальные проблемы с производительностью, вводя "естественные" ограничения на полную гибкость систем Lisp, что позволяет компилятору чётко понимать компилируемые модули, такие как библиотеки. Dylan во многом заимствует свою семантику из Scheme и других Lisp; некоторые реализации Dylan первоначально создавались на базе существующих систем Lisp. Однако Dylan имеет синтаксис, подобный ALGOL, а не префиксный синтаксис, характерный для Lisp.
История
Дилан был создан в начале 1990-х годов группой под руководством Apple Computer. На определенном этапе разработки он предназначался для использования с компьютером Apple Newton, но реализация Dylan не достигла достаточной зрелости к моменту выпуска, и Newton вместо этого использовал смесь языков C и NewtonScript, разработанного Уолтером Смитом. Apple прекратила разработку Dylan в 1995 году, однако предоставила версию "технологического релиза" (Apple Dylan TR1), которая включала в себя продвинутую интегрированную среду разработки (IDE). Две другие группы внесли вклад в проектирование языка и разработку реализаций: Harlequin выпустила коммерческую IDE для Microsoft Windows, а Университет Карнеги — Меллона выпустил компилятор с открытым исходным кодом для Unix-систем под названием Gwydion Dylan. Обе эти реализации теперь имеют открытый исходный код. Реализация Harlequin теперь называется Open Dylan и поддерживается группой добровольцев, Dylan Hackers. Язык Дилан имел кодовое имя Ralph. Джеймс Хоакин выбрал имя Dylan как аббревиатуру от "DYnamic LANguage" (динамический язык).
Синтаксис
Многие синтаксические особенности Дилана унаследованы от Lisp. Изначально в Дилане использовался префиксный синтаксис, подобный синтаксису Lisp, основанный на s-выражениях. К моменту завершения разработки языка синтаксис был изменен на синтаксис, схожий с ALGOL, в надежде, что он будет более понятен широкому кругу программистов. Синтаксис был разработан Майклом Калом и подробно описан в Справочном руководстве по Dylan.