Dylan (мова програмування)
Dylan | |
---|---|
Парадигма | об'єктно-орієнтоване програмування[1], функційне програмування[1] і мультипарадигмальне програмуванняd[1] |
Дата появи | 1992 |
Розробник | Apple і Університет Карнегі-Меллон |
Останній реліз | 2022.1 (28 листопада 2022)[2] |
Система типізації | динамічна типізація[d] і строга типізація |
Під впливом від | LISP, CLOS і Common Lisp |
Платформа | кросплатформова програма |
Репозиторій вихідного коду | github.com/dylan-lang/opendylan |
Вебсайт | opendylan.org |
Dylan — динамічна об'єктно-орієнтована мова програмування, націлена на швидку розробку програм; розроблений насамперед зусиллями Apple.
При необхідності, пізніше можна оптимізувати програми введенням інформації про типи. Dylan підтримує множинну спадковість, поліморфізм і багато інших парадигм. Мова загального призначення, придатна як для прикладного, так і для системного програмування. Включає в себе збирання сміття, перевірки в ході виконання, відновлення після помилок і модульну систему.
Ім'я мови Dylan означає «DYnamic LANguage».
Ця мова народилася в Apple на початку 1990 р. ЇЇ розробники хотіли створити покращений гібрид з елегантного варіанту LISP — Scheme, системи ООП CLOS від потужного промислового варіанту LISP — Common Lisp та ідеями з Smalltalk — і все це з нормальною загальноприйнятою системою позначень алголо/паскале-подібного синтаксису. Незабаром після цього аналогічний проект був запущений в Університеті Карнегі-Меллон — над створенням компілятора Dylan працювала знаменита команда Карнегі-Меллон з реалізації CMU Common Lisp. Іншу, комерційну версію з повною IDE випустила компанія Harlequin.
Спочатку Dylan мав синтаксис, заснований на префіксній нотації та S-виразах - як у мові програмування LISP. На момент завершення розробки синтаксис набув алголоподібного вигляду - з огляду на те, що він знайомий більш широкому колу програмістів. Синтаксис був розроблений Michael Kahl. Його докладно описано в Dylan Reference Manual [Архівовано 28 лютого 2021 у Wayback Machine.](англ.).
Dylan не чутливий до регістру. Дозволяється використовувати дефіс (мінус) для поєднання частин ідентифікаторів із кількох слів (іноді їх називають "lisp-case" або "kebab-case"). Ця угода про найменування поширена в мовах типу LISP.
Окрім буквено-цифрових символів і знаків дефіс (мінус), дозволяється використовувати певні небуквенно-цифрові символи як частину ідентифікаторів. Ідентифікатори не можуть складатися тільки з цих небуквенно-цифрових символів або лише з числових символів. Якщо є якась неясність, використовується пробіл.
- Документація і середовище розробки для Dylan [Архівовано 3 січня 2014 у Wayback Machine.]
- Сайт, присвячений Dylan [Архівовано 28 січня 2014 у Wayback Machine.]
- Dylan Programming, by Feinberg, Keene, Mathews, and Withington.
- Dylan Reference Manual, by Shalit, Moon, and Starbuck
- Eric Kidd. Getting Started with Dylan