Функциональное программирование набирает популярность с каждым днем. Тут и там выходят новые библиотеки, фреймворки и языки, вдохновлённые функциональными концепциями. Всё больше программистов начинают ценить неизменяемое состояние и чистые функции, простую и удобную композицию конструкций и компилятор, находящий львиную долю ошибок ещё до запуска приложения. Язык C# с каждым годом вбирает в себя новые идеи из мира функционального программирования. Мы уже привыкли к удобному Linq и к передаче функций как параметров. А иногда C# и сам становится колыбелью новых идей, например, Reactive Extensions (спасибо Эрику Мейеру). Интересно, какие ещё конструкции функционального программирования можно было бы использовать в C#? Об этом мы и поговорим в нашем докладе. Заодно узнаем, как обрабатывать ошибки в стиле функционального программирования, как избавиться от Null Reference Exception, как ещё можно использовать Linq и многое другое. Приходите, будет интересно.
Deutsche Bank Technology Centre
Увлекался программированием на С++ в институте, в дальнейшем переквалифицировался в программиста C#. С 2008 года работал в компании IBS ведущим frontend/backend-разработчиком корпоративного Sharepoint портала (о, эта разработка под Sharepoint 2007). В то же время заинтересовался темой культуры написания кода. От безысходности написал свой домашний Linq-провайдер для доступа к данным, хранящимся в Sharepoint-списках. Затем перешел в компанию ДРАГА, где разрабатывал систему проведения собраний акционеров для крупнейших акционерных обществ РФ, таких как Газпром, Мосэнерго и т.д. Также был full-stack разработчиком, использовал ASP.MVC, WPF, WCF, TypeScript. Одновременно начал изучать F# и функциональное программирование, воодушевившись на тот момент новыми для него концепциями, способными сделать код проще, чище и понятнее. В Deutsche Bank начал работать с 2015 года, разрабатывает trading UI на основе in-house WPF-фреймворков. Во время написания программ увлёкся идеей переноса опыта и полезных концепций из языка F# в C#.