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

редактировать
Arc
Парадигмы Многопарадигма : функциональный, meta, процедурное
СемействоLisp
Разработано Полом Грэмом
Разработчики Пол Грэм, Роберт Моррис,. Arc community
Впервые появилось29 января 2008 г.; 12 лет назад (29.01.2008)
Стабильный выпуск 3.2 / 28 октября 2018 г.; 2 года назад (28.10.2018)
Дисциплина ввода Динамический
Язык реализацииRacket
Платформа IA-32, x86-64
OS Linux
Лицензия Artistic License 2.0
Расширения имен файлов .arc
Веб-сайтarclanguage.org
Основные реализации
Arc, Anarki, Arcadia, Rainbow
Под влиянием
Lisp, Scheme

Arc - это язык программирования, диалект язык Лисп, разработанный Полом Грэмом и Робертом Моррисом. Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под Artistic License 2.0.

Содержание
  • 1 История
  • 2 Мотивы
    • 2.1 Прием
  • 3 Примеры
  • 4 Версии
    • 4.1 Официальная версия
    • 4.2 Неофициальные версии
  • 5 Ссылки
  • 6 Внешние ссылки
История

В 2001 году Пол Грэм объявил, что он работает над новым диалектом Лиспа под названием Arc. За прошедшие с тех пор годы он написал несколько эссе, описывающих особенности или цели языка, а также несколько внутренних проектов в бизнес-инкубаторе стартапа Грэма под названием Y Combinator. написано на Arc, в первую очередь на веб-форуме Hacker News и программе агрегатора новостей. Арк написан в Ракет.

Мотивы

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

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

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

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

Reception

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

Примеры

Hello world в Arc:

(prn "Hello, World")

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

(defop сказал req (aform [onlink "щелкните здесь "(pr" вы сказали: "(arg _" foo "))] (input" foo ") (submit)))
Версии

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

Первая публично выпущенная версия Arc была доступна 29 января 2008 г. и реализована на Racket (тогда она называлась PLT-Scheme). Релиз представлен в виде архива .tar, содержащего исходный код Racket для Arc. Также доступны учебное пособие и дискуссионный форум. Форум использует ту же программу, что и Hacker News, и написан на Arc.

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

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

Rainbow - это реализация Arc на Java.

Arcadia - это реализация Arc в C.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-11 23:46:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте