The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.48"
Отправлено Ordu, 20-Ноя-20 16:53 
> Лисп - очень изящое мета программирование и система макросов. Вот принято ужасаться
> этих скобок, а не деле в этом все и изящество -
> Лисп сразу пишется в виде абстрактного синтаксического дерева. И так как
> код представлен в виде списков, как и самые обыкновенные данные, то
> кодом можно манипулировать с такой же лёгкостью, как и данными =
> метапрог и потрясающая система макросов. Мы в универе писали эмуляцию ленивых
> вычислений и бесконечных списков в стиле Haskell, вышло очень красиво.

Вот это и есть неконкретика. Да это красиво, мне тоже нравится. Но если уж говорить неконкретно, то я бы сказал, что lisp учит писать языки заточенные под задачу. Не API создавать для решения задачи, а языки. (Если мысль не ясна, то стоит глянуть на loop из common-lisp'а, на cl-iterate -- это внешний пакет дающий замену для loop; -- на cl-sql -- SQL в синтаксисе s-expr, на лисповские "шаблонизаторы" html'я, если их так можно назвать, хотя они html в синтаксисе s-expr). Я в целом склонен думать об APIs как о языках, после опыта lisp'а, но C'шные API довольно ограничены синтаксисом в своих выразительных возможностях, поэтому я затрудняюсь сказать, насколько мне такое мышление помогает работать с C.

> Теперь Haskell. Haskell в шутку можно назвать "плюсами от ФП", ибо они
> вобрал все основные концепции ФП в себя. Лямбда-функции, использование списков, map/fold
> к спискам, алгебраические типы данных и сопоставление с шаблоном (pattern matching).
> Вещи очень удобные. А ещё ленивые вычисления - позволяют работать с
> бесконечными списками или решать задачи на динамическое программирование в пару строк.
> Может на самом хаскеле и не будешь прогать (хотя я прогнал,
> там для парсинга языков удобные библиотеки, например), то получишь хорошее представление
> о ФП, что ФП-фичи других языков поймёшь легко. Я после курса
> хаскела в момент разобрался с джавскими streamами, например

Да, это становится конкретикой, особенно если вспомнить о том, что все современные языки -- swift, go, rust, -- набиты функциональщиной.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру