История языка программирования Дилан - History of the Dylan programming language

История языка программирования Дилана сначала вводит историю с непрерывным текстом. Во втором разделе дан обзор истории и представлены несколько вех и водоразделов. В третьем разделе представлены цитаты, относящиеся к истории Язык программирования Дилана.

Введение в историю

Первоначально Dylan был разработан Apple Cambridge, а затем входил в Группа передовых технологий Apple (АТГ). Первоначальной целью было создание нового системное программирование разработка приложения язык программирования для Яблочный Ньютон КПК, но вскоре стало ясно, что на это уйдет слишком много времени. Уолтер Смит разработал NewtonScript для сценариев и разработки приложений, а системное программирование выполнялось на языке C. Разработка Dylan для Macintosh продолжалась. Группа выпустила ранний технологический релиз своего Эппл Дилан продукт, но группа была распущена из-за внутренней реструктуризации, прежде чем они смогли закончить какие-либо продукты, которые можно было использовать. В соответствии с Конфиденциальная информация Apple Оуэна Линцмайера, первоначальным кодовым названием проекта Дилана было Ральф, для Ральф Эллисон, автор романа Человек невидимка, чтобы отразить его статус секретного исследовательского проекта.

Начальный убийственное приложение для Дилана был КПК Apple Newton, но первоначальная реализация была для него слишком поздно. Также были упущены цели по производительности и размеру. Итак, Дилан был перенаправлен на генерала компьютерное программирование аудитория. Чтобы конкурировать на этом рынке, было решено перейти на инфиксная запись.

Андрей Шалит (вместе с Дэвид А. Мун и Орка Старбак) написал Справочное руководство Дилана, которое послужило основой для работы в Арлекин (софтверная компания) и Университет Карнеги Меллон. После закрытия Apple Cambridge несколько участников перешли в компанию Harlequin, которая производит рабочий компилятор и среду разработки для Майкрософт Виндоус. Когда Harlequin был куплен и разделен, некоторые разработчики основали Functional Objects. В 2003 году фирма внесла свой репозиторий в Сообщество Дилана с открытым исходным кодом. Этот репозиторий был основой бесплатное программное обеспечение с открытым исходным кодом Реализация Дилана Открыть Дилана.

В 2003 году Дилан сообщество уже доказала свою помолвку с Диланом. Летом 1998 года сообщество переняло код у Университет Карнеги Меллон (CMU) Дилан назвал проект Gwydion и основал модель с открытым исходным кодом проект Гвидион Дилан. В то время CMU уже прекратила работу над внедрением Dylan, потому что в условиях финансового кризиса Apple больше не могла спонсировать проект. Таким образом CMU сместил свои исследования в сторону мейнстрима и Ява.

Сегодня Gwydion Dylan и Open Dylan - единственные работающие компиляторы Dylan. В то время как первый по-прежнему является компилятором Dylan-to-C, Open Dylan создает собственный код для процессоров Intel. Open Dylan был разработан с учетом Нейтральный формат распределения архитектуры (ANDF).

Обзор временной шкалы

Апрель 1992 года: выпущена первая спецификация языка Dylan. Предлагается Лисп -подобный синтаксис для нового языка.

Сентябрь 1992 г .: Эндрю Л. М. Шалит, член яблоко Кембриджская исследовательская лаборатория объявляет о создании список электронной рассылки для обсуждения языка программирования Dylan.

Январь 1993: Джонатан Бахрах пишет comp.lang.dylan: «Я пытаюсь начать революцию программирования Дилана на своей работе». Скотт Фальман, руководитель проекта Дилана в Университет Карнеги-Меллона отвечает: «Лучшая стратегия, вероятно, - подождать, пока Дилан станет реальным (и, возможно, поможет ему стать реальным) ...» ( Цитата из comp.lang.dylan ).

Апрель 1993 г ​​.: Выпуск первого Дилан FAQ.

Сентябрь 1993 г ​​.: Бахрах представляет высокоэффективную реализацию Дилана на Международная компьютерная музыкальная конференция в Университет Васэда.

Сентябрь 1993 г ​​.: Первый компилятор Dylan, являющийся общественным достоянием,, написанный Бахрахом, представлен на MacWorld. "[Х] е построил первую реализацию как набор макросов для Python Компилятор Лиспа. В последующие месяцы элементы его набора макросов были преобразованы из макросов в Лисп, а затем и в сам Дилан ». [1]

Июнь 1994: Роберт Стоктон объявляет об открытии онлайн-версии нового Справочное руководство Dylan Interim. В Карнеги-Меллон проект Дилана называется Gwydion Project. Возглавляемый Фальманном, в него входят многие из тех, кто отвечает за CMU. Common Lisp.

Май 1994: MacTech сообщает о встрече SFA в Атланте: «Айк Насси раньше руководил группой передовых технологий Apple в Кембридже, штат Массачусетс, где родился Дилан. Теперь, вице-президент группы продуктов разработки Apple, Насси поставил одной из своих целей создание OODL. (объектно-ориентированные динамические языки) в качестве основной парадигмы программирования. Он также заявил, что Дилан «используется в Apple сегодня». Эндрю Шалитт заявил, что Дилан перешел в разработку продукта. Было намекано, что третьи стороны работали над средами разработки; не было сказано ничего конкретного о том, как может выглядеть такая среда. Дилан получил новый инфиксный синтаксис. На конференции были распространены обзоры синтаксиса, чтобы помочь разработчикам языка окончательно принять свои решения. Презентация Эндрю включала ряд примеров кода Дилана ». Цитируется из MacTech [2]

Август 1994: после того, как Apple распространяет компакт-диски Дилана в WWDC, народный певец Боб Дилан подает в суд на Apple за нарушение прав на товарный знак.[3]

Октябрь 1995: объявляется о прекращении проекта Cambridge Dylan и увольнении сотрудников.

Декабрь 1995: Расс Дэниэлс, временный технический менеджер Apple Дилана в Купертино, объявляет, что Digitool, Inc. переносит выпуск Apple Dylan Technology Release в PowerPC Macintosh Common Lisp (MCL).

Январь 1996: Apple навсегда закрывает Cambridge R&D Group. Сайт cambridge.apple.com исчезает.

Август 1996: Apple поставляет Dylan для PowerPC (портированный Digitool). Цитируется из Цифровой инструмент[4]

Сентябрь 1998: Фахлман объявляет, что Дилан был передан Арлекин: «На самом деле, если не в теории, теперь Дилан полностью в руках Арлекина. Apple больше не связана с Диланом, как и проект CMU Gwydion. Некоторые преданные добровольцы работают над улучшением версии Gwydion, и все еще может быть пара усилий одного человека по реализации, но все, что сделает Арлекин, определит, что такое Дилан. Арлекин хочет, чтобы Дилан добился успеха, и, по-видимому, они будут делать то, что, по их мнению, наиболее важно для принятия Дилана ». ( Скотт Фальманн на comp.lang.dylan ).[5]

Октябрь 1998: Арлекин Дилан 1.1 был анонсирован на OOPSLA 1998 год в Ванкувере.

1998/1999: Группа добровольцев собирает источники CMU Gwydion. Веб-сайт ГвидионДилан становится базой для энтузиастов Дилана.

Март 1999: Эндрю Шалит анонсировал Service Pack 1 для Harlequin Dylan 1.2 в группе новостей dylan.

Сентябрь 1999 года: Global Graphics, новый владелец Harlequin, Inc., объявляет о продаже Арлекина Дилана и перенос продукта в Функциональные объекты.

Июль 2000: Functional Objects объявляет о выпуске пакета обновления 1 для Functional Developer 2.0.1 и 2.0.

2003: Functional Objects открывает исходный код своего внутреннего репозитория Dylan для Открытое сообщество Дилана.

История по (в основном) цитатам

Корни языка программирования Дилан

Дилан был создан той же группой в Apple, которая отвечала за Macintosh Common Lisp. Первая реализация имела синтаксис, подобный Лиспу.

Дилан начал с приобретения Coral Software, которая стала ATG East. Coral продавала Macintosh Common Lisp, и Apple попросила их продолжать поддерживать MCL и одновременно разрабатывать новый динамический язык со всеми возможностями программирования и удобством Lisp и Болтовня но с производительностью, необходимой для производственных приложений
Цитируется из MacTech Vol 7 № 1[6]
В конце 1980-х годов Apple Advanced Technology Group (ATG) взяла на себя задачу создать новый язык, который сочетал бы в себе лучшие качества динамических языков, таких как Smalltalk и Lisp, с такими качествами статических языков, как C ++. Признавая, что одного определения языка недостаточно для решения задач разработки следующего, все более сложного поколения программного обеспечения, ATG дополнительно поручила команде Дилана (теперь входящей в группу разработчиков продуктов) разработать сопутствующую среду разработки, которая позволила бы быстрое прототипирование и создание реальных приложений
Цитируется из MacTech Том 11 № 8 [7]

В благодарностях из Первого Руководства Дилана (1992) говорится:

Создание Дилана было делом рук многих.
Основными участниками разработки языка были Гленн С. Берк, Роберт Касселс, Джон Хотчкисс, Джереми А. Джонс, Дэвид А. Мун, Джеффри Пьяцца, Эндрю Шалит, Оливер Стил и Гейл Захариас.
Дополнительные проектные работы и множество полезных комментариев были предоставлены Джеромом Т. Куном, Джеймсом Гранди, Айком Насси, Уолтером Р. Смитом, Стивом Страссманном и Ларри Теслер.
Еще много людей предоставили бесценную обратную связь во время проектирования. Среди них были Питер Элли, Ким Барретт, Алан Боуден, Эрни Бирнинк, Раша Бозинович, Стив Кэппс, Микель Эвинс, Грегг Фостер, Джед Харрис, Элис К. Хартли, Алан Кей, Ларри Кеньон, Мэтью Маклаурин, Джон Мейер, Ричард Млинарик, Питер Потребич, Дэвид Сингер, Дэвид С. Смит, Билл Сент-Клер, Энди Стадлер, Джошуа Сассер, Майкл Тибботт, Том Врхел, Боб Велланд и Дерек Уайт.
Моральную и материально-техническую поддержку оказали Донна Огюст, Крисси Боггс, Джеймс Хоакин, Рик ЛеФэвр, Бекки Малхерн, Дэвид Нагель, Марк Прис, Мэри Рейган, Шейн Робисон и Сьюзан М. Уиттмор.
Режиссером проекта Дилана стал Айк ​​Насси.
Это руководство было написано Эндрю Шалитом при участии Джеффри Пьяцца и Дэвида Муна.
Руководство было разработано Скоттом Кимом и Стивом Страссманном. Это шрифты семейства Lucida и Письмо готический. Обложка была разработана Скоттом Кимом.
Проект Дилана полностью финансировался Advanced Technology Group компании Apple Computer.

Двумя сотрудниками, не связанными с Apple, были CMU Gwydion и Harlequin.

«Я думаю, что у нас сложилось общее впечатление, что наше влияние на CMU ограничивалось возможностью участвовать во встречах и обсуждениях по электронной почте, где мы могли попытаться убедить людей в Apple смотреть на вещи по-нашему. На самом деле по многим вопросам было достигнуто значительное согласие. главным образом потому, что разработчики были в основном из сообщества Common Lisp и видели аналогичные сильные и слабые стороны Common Lisp ».
Роб Маклахлан, бывший участник проекта CMU Dylan Gwydion.

CMU по-прежнему предоставляет информационную страницу о Гвидион.

Корни изменения синтаксиса с Лиспа на инфиксный

Разработчики из лаборатории Кембриджа и CMU думали, что они получат лучший отклик со стороны сообщества C / C ++, если они изменят синтаксис, чтобы он больше походил на эти языки.

Роб Маклахлан из Карнеги-Меллона во время проекта Дилан, с comp.lang.dylan:

«В некотором смысле, наиболее примечательной реорганизацией стало решение отказаться от синтаксиса Lisp. Это произошло после того, как Gwydion участвовал в разработке. Мы выступали за синтаксис инфиксов и отказались от синтаксиса lisp / prefix. Насколько я помню, мы этого не сделали. действительно ожидаю, что кто-нибудь выслушает, но именно это и произошло. В этом случае мы могли изменить баланс сил внутри Apple по этому вопросу ».

Брюс Холт ответил:

«Что достаточно интересно, это противоположно самому Лиспу, где Джон Маккарти изначально предназначал S-выражения как временную форму до тех пор, пока не будет разработан / реализован реальный синтаксис».

Оливер Стил в 11-обсуждение:

"Майк Каль, который разработал инфиксный синтаксис (и реализовал для него синтаксический анализатор и индентор), пытался сделать его похожим на Паскаль. В то время (1991 год?) Это, вероятно, выглядело лучше, чем сегодня, в мире языков, которые в основном сошлись на использовании знаков препинания в качестве знаков препинания.
Я фактически реализовал синтаксис, более похожий на Си (то есть фигурные скобки) для Дилана, но отказался от него, когда мы наняли Майка для работы над IDE ».

Конец Дилана как коммерческого продукта

Смерть проекта в Apple в 1995 году

Раффаэль Кавалларо однажды поделился некоторыми мыслями:

Проект Apple Dylan умер в начале 95-го (если мне не изменяет память - я был исходным сайтом для Apple Dylan). Команда Дилана находилась под сильным давлением, чтобы выпустить рабочий релиз, когда две вещи застали их врасплох:
1. Apple начала становиться менее прибыльной из-за Wintel джаггернаут. Поскольку Apple перестала быть такой прибыльной, сотрудники Apple начали искать исследовательские проекты, которые можно было бы сократить. Те, кто, казалось, вряд ли выпустят прибыльный продукт в ближайшем будущем, были в верхней части списка. Apple Dylan на тот момент еще не был готов к выпуску - он довольно медленно компилировался ... особенно по сравнению с CodeWarrior C / C ++, поскольку он еще не был оптимизирован. Менеджеры Apple говорили о том, чтобы переписать его на C ++, чтобы он работал быстрее (не понимая, что Common Lisp можно оптимизировать для работы так же быстро, как C / C ++).
2. Apple переходила на PowerPC, а Apple Dylan все еще работала только на 68 тыс. машин, и скомпилирован только в бинарные файлы 68k. Таким образом, казалось, что пройдет еще как минимум год, может, два, прежде чем появится пригодный для использования продукт PowerPC, поэтому проект был отменен.
Руководители Apple убили проект Дилана ... потому что никто не мог показать им качественный продукт, когда они начали размахивать мясными топорами.

Габор Грайф:

Шпиндлер, в то время генеральный директор Apple, остановил Дилана, потому что инженеры, работавшие над ним, были дороже, чем Apple могла себе позволить в то время. До конца 95-го у основной команды была возможность свернуть все, что у них было, и упаковать это как продукт, который вышел как Apple Dylan Technology Release. Он включал генерацию кода PPC, но сам по себе не работал на PowerPC. Основой разработки был Common Lisp, и в то время не было PPC MCL (Macintosh Common Lisp). Позже Digitool заплатили за перенос среды на PPC с использованием разрабатываемой версии MCL для PPC, над которой они работали. Apple Dylan TR PPC был незаметно выпущен в 1996 году. Он все еще отлично работает на классической MacOS, не знаю о X
Команда иногда намекала, что не настроить среду в Дилане было ошибкой. Это значительно облегчило бы внедрение контекстной рекламы. Но в свете ограниченных ресурсов и очень сильного опыта участников в CL это было понятно.

Оливер Стил:

Я убежден, что Apple Dylan провалилась, потому что команда разработчиков пыталась втиснуть в нее все наши любимые функции (моя была связана с IDE).

От Майка Локвуда, бывшего сотрудника Apple Cambridge Labs (первоначально опубликовано apple.computerhistory.org ):[8]

Я начал свою карьеру в Apple в группе инструментов разработчика в Купертино. Но через пару лет я решил переехать на восток и перешел в Кембриджский офис, чтобы работать над проектом Дилана. В апреле 1995 года нас уведомили, что проект отменят и всех нас уволят. Но нас не сразу уволили. Apple хотела, чтобы мы остались на 6 месяцев, чтобы Дилан мог быть выпущен как экспериментальный «технологический релиз». Очевидно, это было сделано для того, чтобы избежать затруднений на WWDC в следующем месяце. Дилан был объявлен и сильно раскручен на предыдущем WWDC, и было бы плохо, если бы он исчез за месяц до WWDC в следующем году.
Нам предложили поощрительную премию остаться до октября. Было странно получать уведомление за шесть месяцев. У всех нас было достаточно времени, чтобы найти новую работу, но спускаться на корабле было не очень весело. Но одним интересным побочным эффектом было то, что у нас было достаточно времени, чтобы подготовиться к увольнению.
Первым делом (в конце концов) было напечатать футболки. Мы напечатали футболки (за счет Apple) с надписью «Власть отменить все самое лучшее» на лицевой стороне. На обратной стороне был снимок экрана Dylan IDE со всеми нашими именами, перечисленными в окне. Перед ним было диалоговое окно, в котором говорилось: «Вы действительно хотите отменить всю Кембриджскую лабораторию?», С указателем мыши, наведенным на кнопку «Отмена».
Ко дню увольнений мы были готовы. Мы украсили весь офис яркими украшениями на Хэллоуин, включая ворон с датчиком движения, который каркал и хлопал крыльями, когда кто-то проходил мимо. Кто-то нашел рекламу «Беверли-Хиллз 90210» с изображением Люка Перри, персонажа которого звали Дилан. В рекламе говорилось: «Дилан - на шаг ближе к мести или на шаг ближе к смерти?» «90210» был изменен на почтовый индекс нашего офиса в Кембридже, Массачусетс, и был вывешен в коридорах офиса.
Когда сотрудники отдела кадров прибыли из Купертино, мы вежливо пригласили их в конференц-зал и вручили им яблоки. Я был очень горд, что у одного из моих коллег хватило ума подумать об этом! Мы все были одеты в наши увольнительные футболки, за исключением того, что у Дэвида Муна была футболка с надписью «Путешествие начинается», поверх которой были написаны слова «начинается» и «заканчивается». Они звонили нам по имени по очереди, чтобы получить папку со всеми нашими документами об увольнении. Когда называлось первое имя, мы инстинктивно аплодировали - это было похоже на выпускной.
Думаю, такое увольнение могло произойти только в Apple ...

Изображение рубашки можно увидеть Вот.[9]

Смерть у Арлекина и функциональные объекты

Гэри М. Палтер о функциональных объектах и ​​истории проекта Дилана в компании Harlequin:

В сентябре 1999 года Арлекин закрыл свой проект Дилана и уволил персонал проекта, включая меня. Совершенно необычным шагом Арлекин передал указанной группе права интеллектуальной собственности на свой проект Dylan. Группа решила продолжить свои усилия по разработке и продвижению своей реализации Dylan. Три члена группы, в том числе и я, согласились посвятить один год постоянным усилиям по дальнейшему развитию продуктов и привлечению финансирования для создания жизнеспособного бизнеса. Мы основали Functional Objects, Inc., чтобы продолжить эти усилия. Однако наши усилия по сбору средств не увенчались успехом. Функциональные объекты фактически бездействовали с конца 2000 года. (Цит. Резюме Палтера )

Возрождение Дилана как проекта с открытым исходным кодом

В настоящее время все общедоступные проекты внедрения Dylan обслуживаются специалистами Gwydion Dylan Maintainers с открытым исходным кодом. Доступ к их веб-сайту можно получить либо по URL-адресу http://www.gwydiondylan.org или же http://www.opendylan.org.

Первое: проект CMU Gwydion стал открытым исходным кодом

Проект CMU Gwydion стал открытым в 1998 году. Эрик Кидд в сообщение Gwydion Hackers о процессе:

Мы с Андреасом Богком спасли исходный архив из забвения. Мы боролись с гнилью, создали веб-сайт и начали выпускать релизы. Появились другие люди и начали писать код. Мы связались с Gwydion Group в CMU, и они пожелали нам всего наилучшего.
Группа Gwydion отказалась от Дилана. Насколько мне известно, они отклонили несколько приглашений принять участие (или даже просто подписаться на списки рассылки).

Во-вторых: проект «Арлекин - функциональный объект» стал открытым исходным кодом.

До того, как Functional Objects, ранее называвшаяся Harlequin Dylan, прекратила работу в январе 2006 года, они открыли исходный код своего репозитория в 2004 году для Gwydion Dylan Maintainers. Репозиторий включал официальные документы, проектные документы, документацию, когда-то написанную для коммерческого продукта, и код для:

  • The Dylan Flow Machine (компилятор Арлекина Дилана),
  • Интерактивная среда разработки, которая предоставляет такие функции, как
    • Присоединение к запущенным приложениям
    • Код просмотра кода высокого уровня
  • Код управления пользовательским интерфейсом Dylan (язык высокого уровня для программирования графического интерфейса пользователя, который является реализацией Dylan и дальнейшим развитием CLIM ).
  • А CORBA выполнение
  • Доступ к технологии компонентов Microsoft: Компонентная объектная модель (COM), Связывание и внедрение объектов (OLE).
  • Эмулятор Dylan на основе LispWork, который использовался для независимого от платформы прототипа реализации языка Dylan.

Рекомендации

  1. ^ «MADA в MacWorld». MacTech. 7 (5). 1993. Получено 6 декабря 2013.[постоянная мертвая ссылка ]
  2. ^ "СФА Атланта 1994". MacTech. 1994.
  3. ^ Линцмайер, Оуэн. "Дым на ветру".
  4. ^ "Digitool". Архивировано из оригинал на 2005-12-22. Получено 2017-11-08.
  5. ^ Фальманн, Скотт (1998-12-09). «Оптимизированная отправка». comp.lang.dylan.
  6. ^ «Примечания НЕМАДА». MacTech. 7 (1). 1993. Получено 6 декабря 2013.
  7. ^ Пальмен, Стив (1997). «Эппл Дилан: Что нас ждет в будущем?». MacTech. 11 (8). Получено 8 декабря, 2017.
  8. ^ "apple.computerhistory.org". Архивировано из оригинал на 2007-03-10. Получено 2017-11-08.
  9. ^ "Футболка Дилана". Архивировано из оригинал на 2008-08-29. Получено 2017-11-08.

внешняя ссылка