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

Arc (язык программирования)
Arc
Arc programming language logo.jpeg
Класс языка:

мультипарадигмальный: функциональный метаязык

Появился в:

2008

Автор(ы):

Пол Грэм и Роберт Моррис

Релиз:

3 (13 июля, 2009)

Типизация данных:

динамическая, сильная

Испытал влияние:

LISP

Повлиял на:

Anarki, HL

Лицензия

Perl Foundation's Artistic License 2.0

Сайт:

http://arclanguage.org/

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

Содержание

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

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

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

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

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

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

Реализация

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

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

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

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

Комментарии

Ссылки

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



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Arc (язык программирования)" в других словарях:

  • ARC — (Atlantic Rally Cup)  ежегодная трансатлантическая регата. ARC  формат архивирования ARC, запатентован компанией Software Enhancement Associates (SEA). Arc (язык программирования)  язык Лисп семейства Усовершенствованные RISC… …   Википедия

  • Хронология языков программирования — Списки языков программирования По категориям Хронологический Генеалогический Хронология языков программирования  упорядоченный в хронологическом порядке список языков программирования. Содержание …   Википедия

  • Список языков программирования — Списки языков программирования Алфавитный По категориям Хронологический Генеалогический Цель этого алфавитного списка языков программирования состоит в том, чтобы дать полный перечень всех существующих языков программирования, как используемых в… …   Википедия

  • Искусственные языки — Портал:Искусственные языки Начинающим · Сообщество · Порталы · Награды · Проекты · Запросы · Оценивание География · История · Общество · Персоналии · Религия · Спорт · Техника · Наука · Искусство · Философия …   Википедия

  • Objective-C — Класс языка: объектно ориентированный, мультипарадигмальный: рефлексивно ориентированный Появился в: 1986 Автор(ы): Бред Кокс Типизация данных: нестрогая, статическая / динамическая …   Википедия

  • Сетунь (компьютер) — У этого термина существуют и другие значения, см. Сетунь …   Википедия

  • Сазерленд, Айвен — Айвен Сазерленд Ivan Sutherland …   Википедия

  • ОО — общий отдел ОО общественная организация организация ОО очень опасный напр. обозначение при экологических экспертизах ОО охрана и оборона объектов …   Словарь сокращений и аббревиатур

  • Lisp — Лисп Семантика: мультипарадигмальный: объектно ориентированное, функциональное, процедурное программирование Появился в: 1958 г. Автор(ы): Джон Маккарти Типизация данных: сильная, динамическая …   Википедия

  • Лисп — Семантика: мультипарадигмальный: объектно ориентированное, функциональное, процедурное программирование Появился в: 1958 Автор(ы): Джон Маккарти Типизация данных …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»