- PVSM.RU - https://www.pvsm.ru -
Лисп — второй по старшинству из ныне живых высокоуровневых языков программирования (после Fortran) и первый функциональный язык. Он был разработан в 1958 году и сильно изменился с тех пор, породив множество диалектов и оказав значительное влияние на развитие других языков. На данный момент наиболее известные диалекты: Common Lisp, Scheme, Racket и Clojure.
Слева: Лисп-машина в музее MIT.
Справа: Лисп-машина Symbolics 3640, фото Michael L. Umbricht и Carl R. Friend (Retro-Computing Society of RI)
Лисп стал “первооткрывателем” многих идей, нашедших применение в современных языках программирования: древовидные структуры, динамическая типизация, функции высшего порядка и многое другое. В этом посте мы не будем углубляться во вклад Лиспа в теорию, а сосредоточимся на практической пользе.
Изначально Лисп предназначался для работ в области искусственного интеллекта, в частности как представление математической нотации для символьных вычислений. Но насколько широко диалекты Лиспа используются сейчас и в каких областях применяются?
Мы в Typeable любим [1] и применяем [2] функциональное программирование, а влияние Лиспа на функциональные языки всё ещё сильно, поэтому нам стало интересно разобраться в этом вопросе.
Во время учёбы мне часто приходилось иметь дело с диалектами Лиспа. Проведя поиск информации при подготовки этой статьи, я была приятно удивлена, когда находила упоминание кода на том или ином диалекте Лиспа в приложениях, которыми пользуюсь сама. Думаю, и вы найдёте знакомые названия в этом списке.
Я попыталась включить в список примеры из разных прикладных областей, инструменты для разработчиков, готовые приложения для нетехнических пользователей и системы, входящие в состав того, чем регулярно пользуется довольно большое число людей, даже не задумываясь об этом.
Конечно, это список не полный, здесь выделены наиболее интересные на мой субъективный взгляд применения Лиспа в современном ПО. Более полные списки библиотек, готовых приложений и компаний, использующих диалекты Лиспа, можно посмотреть в следующих ресурсах:
Рассказывайте в комментариях, какие программы на Лиспах используете и делитесь своими pet-проектами!
Автор: Катерина Галкина
Источник [19]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/368446
Ссылки в тексте:
[1] любим: https://habr.com/ru/company/typeable/blog/542440/
[2] применяем: https://habr.com/ru/company/typeable/blog/554516/
[3] GNU Emacs: https://www.gnu.org/software/emacs/
[4] Grammarly: https://app.grammarly.com/
[5] https://www.grammarly.com/blog/engineering/running-lisp-in-production/: https://www.grammarly.com/blog/engineering/running-lisp-in-production/
[6] https://youtu.be/S7nEZ3TuFpA: https://youtu.be/S7nEZ3TuFpA
[7] Circle CI: https://circleci.com/
[8] https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted: https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted
[9] Apache Storm: https://storm.apache.org/
[10] Riemann: https://riemann.io/
[11] GitHub: https://github.com/riemann/riemann
[12] Hacker News: https://news.ycombinator.com/
[13] https://clojure.org/community/success_stories: https://clojure.org/community/success_stories
[14] https://github.com/razum2um/awesome-clojure: https://github.com/razum2um/awesome-clojure
[15] https://github.com/azzamsa/awesome-cl-software: https://github.com/azzamsa/awesome-cl-software
[16] https://common-lisp.net/lisp-companies: https://common-lisp.net/lisp-companies
[17] https://github.com/caocao485/awesome-racket-and-scheme: https://github.com/caocao485/awesome-racket-and-scheme
[18] https://github.com/avelino/awesome-racket: https://github.com/avelino/awesome-racket
[19] Источник: https://habr.com/ru/post/581488/?utm_source=habrahabr&utm_medium=rss&utm_campaign=581488
Нажмите здесь для печати.