При переходе к функциональному стилю программирования после процедурного и ООП, что мне нужно знать заранее об «этом новом способе мышления»?
Как вы готовитесь к погружению в мире FP и получаете его впервые?
Какие основы нужно выучить и вначале разобраться?
functional-programming
JohnDoDo
источник
источник
Ответы:
Получите копию «Структура и интерпретация компьютерных программ» и проработайте первую главу «Построение абстракций с помощью процедур». Лучшее введение в функциональное программирование, которое я когда-либо имел.
РЕДАКТИРОВАТЬ: Если вы хотите что-то более сравнительное, попробуйте «Семь языков за семь недель» (отказ от ответственности: эта книга все еще в моем списке TODO).
источник
Вам понадобится декларативное мышление вместо процедурного «сначала делай это, потом делай это, потом делай это ...» способ решения проблем. Понимание рекурсии может быть хорошей отправной точкой, так как это своего рода сладкое пятно между процедурным и декларативным мышлением.
источник
Вы поставили телегу перед лошадью. Вам не нужно готовиться. Просто выберите интересный язык, найдите документацию и попробуйте. Если вы застряли, то остановитесь и ищите ответ. По мере вашего прогресса ваш образ мышления будет меняться.
источник
FP основан на исчислении Ламдба. Вы должны знать это. Это хорошая отправная точка. Функции это все. Там нет понятия государства (хотя вы можете подделать его на более высоком уровне).
В ООП,
принято Не так в FP. Вы просто не можете присвоить переменной другое значение. Если вы хотите изучать FP в долгосрочной перспективе, изучите Haskell. Это самая чистая версия FP, и она довольно сложная (я только начал ее изучать), но все же стоит ее изучить.
Введение в функциональное программирование дает вам общее представление о том, что такое FP.
Два предостережения, хотя
источник
Я стараюсь изо всех сил запомнить следующую мантру:
источник