- Arc (язык программирования)
-
Arc Класс языка: Появился в: 2008
Автор(ы): Релиз: Типизация данных: Испытал влияние: Повлиял на: Anarki, HL
Лицензия Perl Foundation's Artistic License 2.0
Сайт: Arc — это диалект языка Лисп, который разрабатывают Пол Грэм и Роберт Моррис. В двух словах Arc можно определить как предельно упрощённую версию лиспа, с мощной поддержкой макросов, позволяющей любые «грязные хаки» в стиле лиспа.
Содержание
Предыстория и философия языка
В 2001 году Пол Грэм анонсировал[1] что он работает над новым диалектом лиспа, который назвал «Arc». За несколько лет, он написал несколько эссе, с описанием функций или целей языка, были написаны на Arc некоторые внутренние проекты компании Y Combinator, в частности веб-форум Hacker News, и программа агрегатор новостей.
В эссе Being Popular[2] Грэм описывает некоторые из его целей своего языка. Заявлены такие цели как «Arc должен поддаваться хакингу» и «в нём должны быть хорошие библиотеки»; Грэм также заявил, что:
Я не уйду далеко от истины, если скажу, что хакер, выбирает язык для написания программы, по крайней мере подсознательно, основывается на том, сколько символов ему придётся вводить. Если это не и не в точности, то, что думают хакеры, разработчикам языков не мешало бы действовать так, как будто это было бы так.
Оригинальный текст (англ.)It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he'll have to type. If this isn't precisely how hackers think, a language designer would do well to act as if it were.
Пол Грэм указывает, что оригинальный 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 под руководством Пола Грэма впало в застой.
Комментарии
Ссылки
- Последние новости от Y Combinator (англ.)
- вебсайт Arc (англ.)
- arclanguage.org/forum (англ.) Arc форум для пользователей языка Arc.
- Очень краткое введение в arc/lisp (англ.)
- Arc FAQ (англ.)
- arcfn.com (англ.) документация/обсуждение arc и anarki
- practical-scheme.net/wiliki/arcxref (англ.) arc wiki
-
- На русском
- Язык программирования Arc. Окончание — Ссылки на русский перевод руководства по арку в форматах PDF и TeX
-
- Arc в статьях Пола Грэма
- The Hundred-Year Language (англ.) Эссе «Языки программирования через 100 лет».
- Six Principles for Making New Things, Шесть принципов при создании новых вещей — статья в которой Пол Грэм описывает свою жизненную философию и её влияние на Arc
Основные языки программирования (сравнение • IDE • история • хронология) Используемые
в разработкеАда • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET)
Академические IEC 61131-3 Instruction List • ST • FBD • Ladder Diagram (LD) • SFC
Прочие Эзотерические Визуальные Категории:- Появились в 2008 году
- Языки программирования по алфавиту
- Языки с динамической типизацией
- Языки программирования семейства Лисп
- Кроссплатформенное программное обеспечение
- Свободные компиляторы и интерпретаторы
Wikimedia Foundation. 2010.