Функциональное программирование
Курс Хит![](https://www.lektorium.tv/sites/lektorium.tv/files/courses/1284893765_22779_yazik_Scheme_metadata.flv_snapshot_00.17.57_%5B2010.09.19_14.55.13%5D.jpg)
Курс знакомит слушателей с функциональным подходом к программированию, все более набирающим силу в последнее время (наблюдается взрывной рост популярности языков Erlang, Scala, F#). Ключевые свойства этого подхода - борьба со сложностью программ через использование мощных механизмов абстракции и акцент на важность математических свойств программ.
Курс в значительной мере основан на знаменитейшем курсе и книге "Структура и интерпретация компьютерных программ" из MIT, однако адаптирован под ряд особенностей современного программирования и профессиональную подготовку слушателей: обсуждаемые идеи иллюстрируются как в "чистом" виде, так и в контексте типичных повседневных задач.
В курсе рассматриваются следующие наиболее важные идеи из мира функционального программирования:
- лямбда-исчисление,
- рекурсивные и итеративные процессы,
- функции высшего порядка и замыкания,
- абстрактные типы данных,
- свёртки (данная тема особенно важна в контексте параллельного и распределенного программирования),
- мини-языки,
- модель окружений,
- введение в системы типов.