Это серия сообщений в блоге о том, как интегрировать принципы функционального программирования в ваше приложение, сохраняя при этом безопасность типов с помощью Typescript.

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

Контекст и фон

Я работаю с Javascript с 2015 года и начал изучать функциональное программирование примерно в 2017 году. В какой-то момент, изучая его, я наткнулся на потрясающую книгу "Составление программного обеспечения: книга", написанную Эриком Эллиоттом. Читая ее, я почувствовал, что обретаю сверхспособности, которые позволили мне создавать гибкое, масштабируемое и, что, если кажется, более креативное/забавное программное обеспечение.

Затем, когда Typescript стал набирать все большую популярность, и казалось, что он станет подходом для веб-приложений (Node.js, React), я начал изучать его.

Когда я тогда начал читать документацию, меня очень сильно поразило то, что в каждом примере не было ничего, связанного с функциональным программированием, а только использование классов, наследования и других принципов объектно-ориентированного программирования.

Печально, что я чувствовал, что инструмент предназначен только для определенного сегмента разработчиков. Я игнорировал Typescript в течение нескольких лет.

Все изменилось в 2021 году, когда я возглавил свой первый проект и решил использовать Typescript. Я начал с поиска способов продолжать использовать те же функциональные шаблоны и концепции, но с безопасностью типов.

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

Контент

Эта серия постов призвана проиллюстрировать различные способы применения принципов функционального программирования с помощью Typescript и сделать это на практике, чтобы разработчики могли чувствовать себя знакомыми с шаблонами и вариантами использования.

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

Благодарность

На менее серьезной ноте я хочу сказать спасибо всем, кто нашел время, чтобы прочитать сообщения, и я надеюсь, что каждый может найти это полезным!

Если вы хотите поговорить, вы можете связаться со мной по адресу: [email protected]. Ваше здоровье!