Coursera.org и функциональное программирование

Совсем недавно завершил курс по функциональному программированию на coursera.org. По этому поводу очень сильно радуюсь и хвастаюсь сертификатом в своём основном блоге. Конечно, получил кучу новых знаний и навыков, но любопытно другое. Я первоначально хотел освоить ФП и внедрить его на своём текущем проекте. То есть добавлять потихоньку модули на F# для решения тех задач, где ФП к месту.

Так вот забавным было то, что оказалось, что большая часть функциональных вещей доступна в самом C# безо всякого F#. То есть хочешь создать функцию с помощью лямбда-выражения — пожалуйста. Хочешь использовать замыкание в ней — никто не против. Передать как параметр или вернуть функцию из функции — на здоровье. Оказалось, что горячо любимый мной LinqToObjects является по сути воплощением идей ФП в объектно-ориентированном C#. И реализовывать наиболее естественные для ФП вещи проще в C#, не меняя язык.

Конечно, синтаксис местами выглядит страшновато и, например, понравившегося мне матчинга нет, но пока какой-то хорошей области, куда я могу прямо сейчас в работе применить F# я не вижу. Наверное, если удастся выделить кусок побольше, со своими структурами данных и прочим, то смысл появится. Буду потихоньку продолжать изучение и думать.