Arc (язык программирования) - Arc (programming language)

Дуга
ПарадигмыМультипарадигма: функциональный, мета, процедурный
СемьяЛисп
РазработаноПол Грэм
РазработчикиПол Грэм, Роберт Моррис,
Дуга сообщество
Впервые появился29 января 2008 г.; 12 лет назад (2008-01-29)
Стабильный выпуск
3.2 / 28 октября 2018; 2 года назад (2018-10-28)[1]
Печатная дисциплинаДинамический
Язык реализацииРакетка
ПлатформаIA-32, x86-64
Операционные системыLinux
ЛицензияХудожественная лицензия 2.0
Расширения имени файла.arc
Интернет сайтarclanguage.org
Главный реализации
Арка, Анарки, Аркадия, Радуга
Под влиянием
Лисп, Схема

Дуга это язык программирования, а диалект языка Лисп, разработан Пол Грэм и Роберт Моррис. это бесплатное программное обеспечение с открытым исходным кодом выпущен под Художественная лицензия 2.0.

История

В 2001 году Пол Грэм объявил, что работает над новым диалект Лиспа с именем Дуга. С тех пор он написал несколько эссе, описывающих особенности или цели языка, а также несколько внутренних проектов в Graham's запускать бизнес-инкубатор названный Y комбинатор были написаны в Arc, в первую очередь Хакерские новости веб-форум и программа-агрегатор новостей. Арка написана на Ракетка.[2]

Мотивы

В эссе Быть популярным[3] Грэм описывает несколько своих целей в отношении языка. Хотя многие цели носят общий характер («Дуга должна быть взломана», «должна быть хорошая библиотеки "), он привел некоторые особенности. Например, он считает важным, чтобы язык был кратким:

Было бы недалеко от истины сказать, что хакер, собирающийся написать программу, решает, какой язык использовать, по крайней мере, подсознательно, исходя из общего количества символов, которые ему придется напечатать. Если хакеры думают не так, то разработчику языков следовало бы действовать так, как если бы это было так.

Он также заявил, что для языка лучше реализовывать лишь небольшое количество аксиомы, даже если это означает, что язык может не иметь функций, которые нужны крупным организациям, например объектная ориентация (OO). Кроме того, Грэм считает, что объектно-ориентированный объект бесполезен как его методы и узоры являются просто «хорошим дизайном», и он считает, что языковые функции, используемые для реализации объектно-ориентированного программирования, частично ошибочны.[4][5] При представлении Arc в 2008 году Грэм заявил, что одним из его преимуществ является краткость.[6]

Среди программистов на Лиспе возникают разногласия по поводу того, насколько s-выражения языка должны быть дополнены другими формами синтаксис. Грэм считает, что добавленный синтаксис следует использовать в ситуациях, когда чистые s-выражения будут слишком многословными, говоря: «Я не думаю, что мы должны религиозно противиться введению синтаксиса в Лисп». Грэм также считает, что проблемы эффективности следует решать, давая программисту хорошее профайлер.[7]

Прием

Когда Arc был выпущен в 2008 году, он вызвал неоднозначную реакцию, некоторые называли его просто расширением Lisp или Схема а не сам по себе язык программирования. Другие аплодировали Arc за то, что он лишил Lisp самого необходимого. Вскоре после выпуска Arc был перенесен на JavaScript, и поддерживался Schemescript, интегрированная среда развития (IDE) на основе Затмение.[8]

Примеры

Привет мир в Арке:

 (прн "Привет, мир")

Чтобы проиллюстрировать краткость Арк, Грэм использует краткую программу. Он создает форму с одним полем по адресу "/ said". Когда форма отправлена, она ведет на страницу со ссылкой «щелкните здесь», которая затем ведет на страницу со значением исходного поля ввода.[9]

(defop сказал req  (форма [ссылка "кликните сюда" (пр "ты сказал: " (аргумент _ "фу"))]    (Вход "фу")     (Разместить)))

Версии

Официальная версия

Первая публично выпущенная версия Arc была доступна 29 января 2008 г.[10] реализовано на Ракетка (тогда она была названа PLT-Scheme). Релиз представлен в виде .tar архив, содержащий Ракетку исходный код для Arc. Учебник[11] и дискуссионный форум[12] также доступны. На форуме используется та же программа, что и Хакерские новости делает, и написано в Arc.

Неофициальные версии

Из-за отсутствия обновлений в официальной ветке Arc, некоторые участники Arc сообщество запустили собственные репозитории с неофициальными модификациями, расширениями и библиотеками. Одна версия, Анарки,[13] разрешенный[14] любой желающий отправить изменения в проект и имеет вики, управляемую сообществом.[15]

Радуга[16] это реализация Arc в Ява.

Аркадия[17] это реализация Arc в C.

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

  1. ^ "Arc Forum: Tell Arc: Arc 3.2". Arclanguage.org. Получено 2018-11-07.
  2. ^ «Arc Forum: установить». Arclanguage.org. Получено 2018-11-07.
  3. ^ Грэм, Пол (май 2001 г.). «Быть ​​популярным». PaulGraham.com. Получено 2018-12-05.
  4. ^ Грэм, Пол. «Почему Arc не особо объектно-ориентирована». PaulGraham.com. Получено 2018-12-05.
  5. ^ Грэм, Пол. "Arc FAQ". PaulGraham.com. Получено 2018-12-05.
  6. ^ Хубер, Матиас (2008-02-08). "Arc делает программы короче". Журнал Linux. Лоуренс, Канзас: Linux New Media USA. Получено 2018-11-25.
  7. ^ Грэм, Пол (май 2001 г.). «Пять вопросов о языковом дизайне». PaulGraham.com. Получено 2018-12-05.
  8. ^ «Пионер Интернета поражает критиков перчаткой Лиспа». Реестр. Великобритания. 2008-02-07.
  9. ^ Грэм, Пол (февраль 2008 г.). "Примите вызов Arc". PaulGraham.com. Получено 2018-12-05.
  10. ^ Грэм, Пол (29 января 2008 г.). "Arc's Out". PaulGraham.com. Получено 2018-12-05.
  11. ^ "Учебник по дуге". Пол Грэм. Получено 2018-12-05..
  12. ^ «Арк Форум». Язык дуги.
  13. ^ Рэпп, Кеннет (Кеннетрапп) (14 ноября 2018 г.). "Анарки". GitHub. Получено 2018-12-05.
  14. ^ Агарам, Картик (Аккартик) (27 мая 2013 г.). «Объявление: анарки больше не подлежат мировым обязательствам». Arc Forum. Язык дуги. Получено 2018-12-05.
  15. ^ "Arc Lang Wiki". Места. Google. Получено 2018-12-05.
  16. ^ Дальтон, Конан (конанит) (12 октября 2010 г.). "Радуга". GitHub. Получено 2018-12-05.
  17. ^ Ким, Тэгён (kimtg) (19 августа 2018 г.). "Аркадия". GitHub. Получено 2018-12-05.

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