В последнее время мы все чаще и чаще слышим о функциональном программировании. Все новые языки так или иначе добавляют элементы "функциональщины", а ООП все чаще ругают, приводя как альтернативу в том числе и функциональный подход. Но что же такое функциональное программирование?
Максим подробно рассказывает о том, что такое функциональное программирование, какие есть языки функционального программирования и чем функциональное программирование отличается от императивного.
Это первая часть большого доклада, во второй части речь пойдет о языке F# и функциональном программировании в F#.
Содержание:
00:00 Вступление
00:31 Минутка истории
04:20 Лямбда-исчисление
05:25 Основные понятия в функциональном программировании
05:48 Чистые функции (Pure Functions)
12:11 Рекурсия (Recursion)
12:49 Ссылочная прозрачность (Referential Transparency)
13:37 Функции первого класса (First-Class Functions)
14:25 Функции высшего порядка (Higher-Order Functions)
14:47 Анонимные и вложенные функции
15:20 Замыкания и лямбда выражения
15:40 Неизменяемые переменные (Immutable variables)
16:20 Основные преимущества функционального программирования
21:23 Ценность сигнатура функций и типов
32:12 Чисто функциональные языки программирования
37:42 Недостатки функциональных ЯП
45:36 Языки функционального программирования
46:12 Применение
47:50 Функциональный стиль программирования
48:38 Вместо заключения
Продолжение • Функциональное программирование в F#:...