Русская Википедия:Arc (язык программирования)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Значения Шаблон:Карточка языка программирования Arc — это диалект языка Лисп, который разрабатывают Пол Грэм и Роберт Моррис. В двух словах Arc можно определить как предельно упрощённую версию Лиспа, с мощной поддержкой макросов, позволяющей любые «грязные хаки» в стиле Лиспа.

Предыстория и философия языка

В 2001 году Пол Грэм анонсировал[1] что он работает над новым диалектом Лиспа, который назвал «Arc». За несколько лет, он написал несколько эссе, с описанием функций или целей языка, были написаны на Arc некоторые внутренние проекты компании Y Combinator, в частности веб-форум Hacker News, и программа агрегатор новостей.

В эссе Being Popular[2] Грэм описывает некоторые из его целей своего языка. Заявлены такие цели как «Arc должен поддаваться хакингу» и «в нём должны быть хорошие библиотеки»; Грэм также заявил, что: Шаблон:Начало цитаты Я не уйду далеко от истины, если скажу, что хакер выбирает язык для написания программы, по крайней мере подсознательно, основывается на том, сколько символов ему придётся вводить. Если это и не в точности, то, что думают хакеры, разработчикам языков не мешало бы действовать так, как будто это было бы так. Шаблон:Oq Шаблон:Конец цитаты

Пол Грэм указывает, что оригинальный Lisp Джона Маккарти был построен на основе небольшого набора «аксиом», и утверждает, что Arc должна быть построена таким же образом, даже если это означает, что язык не будет иметь возможностей, которые желательны для крупных организаций. В частности, Грэм считает, что объектная ориентация бесполезна, поскольку методы и модели ООП являются просто «хорошим дизайном», и он рассматривает возможности языка используемые для реализации ООП как частично ошибочные[3][4].

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

Реализация

Первая публичная версия Arc была представлена 29 января 2008 года[5][6]. Релиз вышел в форме .TAR архива, содержащего исходный код Arc для mzscheme. Учебник[7] и дискуссионный форум[8] также доступны. Форум является копией форума news.ycombinator.com и тоже написан на Arc. Эта реализация распространяется на условиях [[|en]] (Artistic License 2.0) (разработанной для языка Perl).

Первоначальный вариант вызвал некоторые разногласия, в частности из за отсутствия поддержки других наборов символов помимо ASCII, и поставляемой с языком библиотекой веб-разработки, основанной на вёрстке HTML таблицами. Всё это, в сочетании с поднятой вокруг Arc рекламной шумихой и медленным процессом разработки, вызвало немало неблагоприятных комментариев[9].

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

В связи с медленным развитием официальной ветви Arc, некоторые участники сообщества Arc открыли неофициальный репозиторий исправлений, расширений и библиотек[10]. Одна из версий, названная Anarki, была начата для продолжения развития, после того как отдельные участники сообщества почувствовали, что централизованное развитие Arc под руководством Пола Грэма впало в застой.

Комментарии

Шаблон:Примечания

Ссылки

На русском
Arc в статьях Пола Грэма

Шаблон:Лисп Шаблон:Языки программирования