Sunrabbit

Вы все еще используете функциональные библиотеки?

  • Язык написания: Корейский
  • Страна: Все страныcountry-flag
  • ИТ

Создано: 2024-07-30

Создано: 2024-07-30 10:40

В последние несколько лет функциональное программирование стало довольно популярным.


Если объектно-ориентированное программирование создает структуры,

то функциональное программирование обеспечило краткость и ясность кода на более детальном уровне.


Конечно, популярность функционального программирования циклична и повторяется с определенной периодичностью.

Вслед за этой тенденцией стали появляться различные библиотеки.


FxTs, fp-ts, lodash и другие.


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


lodash также производил впечатление набора инструментов.



Конечно, эти наборы инструментов помогают в декларативном программировании.


Но нам нужно было нечто большее, чем просто наборы инструментов, — нам нужны были отображения, соответствия, монады и еще больше монад.

fp-tsсоответствовал этим требованиям, а его разработчик был истинным приверженцем функционального программирования.


Однако несколько месяцев назад я узнал, что эта библиотекаEffectбыла объединена с другой.


Поэтому я решил изучить Effect, и там я обнаружил кое-что новое.


Если раньше fp-tsбыла больше похожа на библиотеку, то Effectскорее напоминает фреймворк.

Для использования Effectнеобходимо обладать базовыми знаниями о нем.


NestJs и NextJsтребуют аналогичного понимания для их использования.


Библиотеку можно просто взять и использовать, если ее API хорошо документирован, но фреймворк требует понимания его структуры и принципов работы.


В Effectобъекты вместо обертывания в Observable, как в RxJs, обертываются в Effect, и эти объекты передаются далее,

словно async — заражая всё вокруг.


Для работы с объектами Effectфункции, которые их используют, также должны быть Effect.


Как, например, в случае с programв приведенном выше коде.


Конечно, есть функции, которые используются в качестве начальной точки, но они не настолько элегантны.


В любом случае, структура и чистота Effectкак фреймворка, привносят новые идеи и стандарты в мир Node.js, и я надеюсь, что он принесет перемены в эту сферу.


Комментарии0

Оптимизация хвостовой рекурсии (Tail Call Optimization)Оптимизация хвостовой рекурсии (TCO) — это метод, предотвращающий переполнение стека в рекурсивных функциях и повышающий эффективность использования памяти. В JavaScript он поддерживается в строгом режиме ES6 и может быть реализован с помощью техники трам
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들

October 12, 2024

Сила машин в интерпретации человеческого языка: ИИ и обработка естественного языкаГлубокий анализ принципов, примеров использования, этических проблем и перспектив развития технологий искусственного интеллекта и обработки естественного языка. Включает в себя различные примеры применения, такие как чат-боты и машинный перевод, а также
Cherry Bee
Cherry Bee
Cherry Bee
Cherry Bee

March 25, 2025