HoHsi
@HoHsi

Какова область применения Lisp/Clojure/Scheme?

Добрый день!
Не так давно заинтересовался Clojure, и в связи с этим возникло несколько вопросов:

* Какова область применения Lisp-семейства?
* В чем их преимущества над ООП языками?
* Так как все объекты в функциональных языках передаются по значению, не делает ли это нагрузки на память и оверхедов?
* В каких случаях лучше не использовать ФП?
  • Вопрос задан
  • 1511 просмотров
Решения вопроса 1
Какова область применения Lisp/Clojure/Scheme?

В общем-то это всё языки общего назначения, которые могут использоваться там же где и Python или Java, например. Единственное, что я бы выделил — написание EDSL (встраиваемых предметно-специфичных языков). Пример: https://github.com/tonsky/datascript.

В чем их преимущества над ООП языками?

Лиспы поддерживают ООП, вопрос некорректный.

все объекты в функциональных языках передаются по значению

Кто Вам такую чушь сказал? И да, лиспы не более функциональны, чем какой-нибудь JavaScript.

В каких случаях лучше не использовать ФП?

Смотря что понимать под ФП. Лямбды, ФВП, чистые функции стоит использовать всегда. Рекурсивные функции — нежелательно, если язык не поддерживает TCO (хотя некоторые скажут что преждевременная оптимизация — корень всех зол). Всякие монады и функторы — по ситуации, только не говорите никому что это монады. Вон Promise всё JS-сообщество использует, а было бы написано в доке, что Promise — монада, никто бы и смотреть не стал :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы