Функциональное программирование
Курс ХитКурс знакомит слушателей с функциональным подходом к программированию, все более набирающим силу в последнее время (наблюдается взрывной рост популярности языков Erlang, Scala, F#). Ключевые свойства этого подхода - борьба со сложностью программ через использование мощных механизмов абстракции и акцент на важность математических свойств программ.
Курс в значительной мере основан на знаменитейшем курсе и книге "Структура и интерпретация компьютерных программ" из MIT, однако адаптирован под ряд особенностей современного программирования и профессиональную подготовку слушателей: обсуждаемые идеи иллюстрируются как в "чистом" виде, так и в контексте типичных повседневных задач.
В курсе рассматриваются следующие наиболее важные идеи из мира функционального программирования:
- лямбда-исчисление,
- рекурсивные и итеративные процессы,
- функции высшего порядка и замыкания,
- абстрактные типы данных,
- свёртки (данная тема особенно важна в контексте параллельного и распределенного программирования),
- мини-языки,
- модель окружений,
- введение в системы типов.