0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#подборки</a></p>
1
<p><a>#подборки</a></p>
2
<ul><li>14 сен 2021</li>
2
<ul><li>14 сен 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Подобрали 5 классных статей про успехи и неудачи Lisp, про его особенности и про то, как с ним работать.</p>
4
</ul><p>Подобрали 5 классных статей про успехи и неудачи Lisp, про его особенности и про то, как с ним работать.</p>
5
<p>Dana Moskvina / Skillbox Media</p>
5
<p>Dana Moskvina / Skillbox Media</p>
6
<p>В бэкграунде - программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.</p>
6
<p>В бэкграунде - программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.</p>
7
<p>Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске - самое интересное о Lisp.</p>
7
<p>Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске - самое интересное о Lisp.</p>
8
<p><strong>Зачем читать:</strong>понять, чем Lisp очаровал своих фанатов, и сравнить с другими языками.</p>
8
<p><strong>Зачем читать:</strong>понять, чем Lisp очаровал своих фанатов, и сравнить с другими языками.</p>
9
<p><strong>Где читать:</strong>на <a>Quora</a>.</p>
9
<p><strong>Где читать:</strong>на <a>Quora</a>.</p>
10
<p>Интересное обсуждение для тех, кто не может понять, почему же люди любят Lisp. Это один из самых старых языков, но его активно используют и по сей день.</p>
10
<p>Интересное обсуждение для тех, кто не может понять, почему же люди любят Lisp. Это один из самых старых языков, но его активно используют и по сей день.</p>
11
<p>Самое главное качество Lisp, которое отметили в комментариях, - его гибкость и универсальность. В Lisp можно легко симулировать синтаксис других языков - его даже называют "программируемым языком программирования". Именно это делает его столь эффективным. Он позволяет каждому использовать свой подход и фактически собрать язык под свои нужды.</p>
11
<p>Самое главное качество Lisp, которое отметили в комментариях, - его гибкость и универсальность. В Lisp можно легко симулировать синтаксис других языков - его даже называют "программируемым языком программирования". Именно это делает его столь эффективным. Он позволяет каждому использовать свой подход и фактически собрать язык под свои нужды.</p>
12
<p>Другое интересное свойство - создавая программы на Lisp, можно достичь уникальной лаконичности и продуктивности.</p>
12
<p>Другое интересное свойство - создавая программы на Lisp, можно достичь уникальной лаконичности и продуктивности.</p>
13
<p>Обсуждение будет интересно прочитать и тем, кто задаётся вопросом, какие качества языков программирования делают их по-настоящему крутыми.</p>
13
<p>Обсуждение будет интересно прочитать и тем, кто задаётся вопросом, какие качества языков программирования делают их по-настоящему крутыми.</p>
14
<p><strong>Зачем читать:</strong>узнать подробнее о классных фичах Lisp.</p>
14
<p><strong>Зачем читать:</strong>узнать подробнее о классных фичах Lisp.</p>
15
<p><strong>Где читать:</strong>на <a>Medium</a>.</p>
15
<p><strong>Где читать:</strong>на <a>Medium</a>.</p>
16
<p>Лонгрид от давнего любителя Lisp: после долгих поисков идеального языка он пришёл к Lisp и сидит на нём уже четверть века. Вот пять функций, за которые автор полюбил этот необычный язык:</p>
16
<p>Лонгрид от давнего любителя Lisp: после долгих поисков идеального языка он пришёл к Lisp и сидит на нём уже четверть века. Вот пять функций, за которые автор полюбил этот необычный язык:</p>
17
<ul><li><strong>Lisp основан на лямбда-исчислениях.</strong>Его код лаконичнее и проще, а разработчику не приходится держать в голове слишком много лишней информации.</li>
17
<ul><li><strong>Lisp основан на лямбда-исчислениях.</strong>Его код лаконичнее и проще, а разработчику не приходится держать в голове слишком много лишней информации.</li>
18
<li><strong>В Lisp есть вызов функций по значению, а не по имени.</strong>Это особенно полезно для языков, основанных на лямбда-исчислении.</li>
18
<li><strong>В Lisp есть вызов функций по значению, а не по имени.</strong>Это особенно полезно для языков, основанных на лямбда-исчислении.</li>
19
<li><strong>Разумное использование мутаций.</strong>В некоторых случаях мутации - необходимое зло. Именно такой политики придерживается Scheme - один из диалектов Lisp.</li>
19
<li><strong>Разумное использование мутаций.</strong>В некоторых случаях мутации - необходимое зло. Именно такой политики придерживается Scheme - один из диалектов Lisp.</li>
20
<li><strong>Динамическая типизация.</strong>Тут автор вовсю спорит с приверженцами статической типизации. Он считает динамическую типизацию огромным плюсом.</li>
20
<li><strong>Динамическая типизация.</strong>Тут автор вовсю спорит с приверженцами статической типизации. Он считает динамическую типизацию огромным плюсом.</li>
21
<li><strong>S-выражения.</strong>Особая структура, типичная для Lisp, которая использует лишь два вида данных: символы и списки.</li>
21
<li><strong>S-выражения.</strong>Особая структура, типичная для Lisp, которая использует лишь два вида данных: символы и списки.</li>
22
</ul><p>Конечно же, Lisp не волшебная пилюля, у него есть минусы, которые очевидны даже давнему фанату языка. Например, он всё меньше совместим с различными SDK, и с годами ситуация только ухудшается.</p>
22
</ul><p>Конечно же, Lisp не волшебная пилюля, у него есть минусы, которые очевидны даже давнему фанату языка. Например, он всё меньше совместим с различными SDK, и с годами ситуация только ухудшается.</p>
23
<p>Автор подробно разбирает все плюсы и минусы языка, рассказывает о том, как они устроены, и щедро делится опытом.</p>
23
<p>Автор подробно разбирает все плюсы и минусы языка, рассказывает о том, как они устроены, и щедро делится опытом.</p>
24
<p><strong>Зачем читать:</strong>узнать, почему Lisp непопулярен и наступит ли Perl на те же грабли.</p>
24
<p><strong>Зачем читать:</strong>узнать, почему Lisp непопулярен и наступит ли Perl на те же грабли.</p>
25
<p><strong>Где читать:</strong>на <a>DEV</a>.</p>
25
<p><strong>Где читать:</strong>на <a>DEV</a>.</p>
26
<p>Lisp хвалят за выразительность, гибкость и эффективность, но эти же качества его губят. Благодаря своей гибкости он подстраивается под нужды отдельных разработчиков, но в коммерческой разработке в энтерпрайзе это скорее вредит: сложно создать единую структуру, организовать и стандартизировать работу.</p>
26
<p>Lisp хвалят за выразительность, гибкость и эффективность, но эти же качества его губят. Благодаря своей гибкости он подстраивается под нужды отдельных разработчиков, но в коммерческой разработке в энтерпрайзе это скорее вредит: сложно создать единую структуру, организовать и стандартизировать работу.</p>
27
<p>Более того, найти интегрированную среду разработки тоже непросто, поэтому для бизнеса Lisp далеко не самое привлекательное решение. В похожей ситуации оказался и Perl. Получится ли у него спастись от проклятия Lisp? Может быть, да. Сейчас в Perl появляются новые интересные фичи, которые могут его спасти, - но пока что хеппи-энд под вопросом. Кусаем локти и ждём финального сезона.</p>
27
<p>Более того, найти интегрированную среду разработки тоже непросто, поэтому для бизнеса Lisp далеко не самое привлекательное решение. В похожей ситуации оказался и Perl. Получится ли у него спастись от проклятия Lisp? Может быть, да. Сейчас в Perl появляются новые интересные фичи, которые могут его спасти, - но пока что хеппи-энд под вопросом. Кусаем локти и ждём финального сезона.</p>
28
<p><strong>Зачем читать:</strong>разобраться, можно ли заменить макросы чем-то ещё.</p>
28
<p><strong>Зачем читать:</strong>разобраться, можно ли заменить макросы чем-то ещё.</p>
29
<p><strong>Где читать:</strong>на <a>Medium</a>.</p>
29
<p><strong>Где читать:</strong>на <a>Medium</a>.</p>
30
<p>Любители Lisp могут подолгу рассказывать о макросах и о том, что в C они совсем не те… Но что это такое и на самом ли деле они настолько незаменимы?</p>
30
<p>Любители Lisp могут подолгу рассказывать о макросах и о том, что в C они совсем не те… Но что это такое и на самом ли деле они настолько незаменимы?</p>
31
<p>Макросы - это макрокоманды, и в первую очередь они нужны для автоматизации. Автор реализовал один и тот же механизм (подсчёт времени выполнения функции) на Python, Java и Clojure (диалект Lisp).</p>
31
<p>Макросы - это макрокоманды, и в первую очередь они нужны для автоматизации. Автор реализовал один и тот же механизм (подсчёт времени выполнения функции) на Python, Java и Clojure (диалект Lisp).</p>
32
<p>В первых двух случаях код приходилось встраивать в другое выражение - по-другому измерить его было невозможно. А вот в Clojure этого делать не пришлось: макрос просто использовали вместо функции. В статье есть и другие примеры использования макросов.</p>
32
<p>В первых двух случаях код приходилось встраивать в другое выражение - по-другому измерить его было невозможно. А вот в Clojure этого делать не пришлось: макрос просто использовали вместо функции. В статье есть и другие примеры использования макросов.</p>
33
<p><strong>Зачем читать:</strong>чтобы не потеряться, начав заниматься веб-разработкой на Lisp.</p>
33
<p><strong>Зачем читать:</strong>чтобы не потеряться, начав заниматься веб-разработкой на Lisp.</p>
34
<p><strong>Где читать:</strong>на <a>DEV</a>.</p>
34
<p><strong>Где читать:</strong>на <a>DEV</a>.</p>
35
<p>С выгодами Lisp мы разобрались, но для всего ли годится такой старый язык? Что там насчёт веб-разработки? В небольшом гайде автор-фронтендер рассказывает, как создавать веб-приложения с помощью Lisp, какие фреймворки и тулы для этого понадобятся и каковы особенности процесса развёртывания в облаке, если оно не поддерживает Lisp.</p>
35
<p>С выгодами Lisp мы разобрались, но для всего ли годится такой старый язык? Что там насчёт веб-разработки? В небольшом гайде автор-фронтендер рассказывает, как создавать веб-приложения с помощью Lisp, какие фреймворки и тулы для этого понадобятся и каковы особенности процесса развёртывания в облаке, если оно не поддерживает Lisp.</p>
36
<p>Вот некоторые инструменты, которые пригодятся в работе:</p>
36
<p>Вот некоторые инструменты, которые пригодятся в работе:</p>
37
<ul><li><strong>SBCL</strong>(Steel Bank Common Lisp) - компайлер для Lisp с классными расширениями.</li>
37
<ul><li><strong>SBCL</strong>(Steel Bank Common Lisp) - компайлер для Lisp с классными расширениями.</li>
38
<li><strong>Quicklisp</strong> - менеджер библиотек.</li>
38
<li><strong>Quicklisp</strong> - менеджер библиотек.</li>
39
<li><strong>Emacs</strong> - лучший редактор для кода на Lisp.</li>
39
<li><strong>Emacs</strong> - лучший редактор для кода на Lisp.</li>
40
<li><strong>SLIME</strong>- мод для Emacs с отладчиком и REPL, который очень пригодится в серьёзной работе.</li>
40
<li><strong>SLIME</strong>- мод для Emacs с отладчиком и REPL, который очень пригодится в серьёзной работе.</li>
41
<li><strong>Caveman</strong> - классный фреймворк для создания веб-приложений, доступен в Quicklisp.</li>
41
<li><strong>Caveman</strong> - классный фреймворк для создания веб-приложений, доступен в Quicklisp.</li>
42
<li><strong>rosewell</strong>- менеджер, лаунчер и не только. Один из лучших инструментов для работы с имплементациями на Lisp, отличный помощник в работе с облаком.</li>
42
<li><strong>rosewell</strong>- менеджер, лаунчер и не только. Один из лучших инструментов для работы с имплементациями на Lisp, отличный помощник в работе с облаком.</li>
43
<li><strong>Clack</strong> - слой абстракции для веб-сервера.</li>
43
<li><strong>Clack</strong> - слой абстракции для веб-сервера.</li>
44
</ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
44
</ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>