С# — это довольно гибкий язык программирования, в чём мы и убедились послушав доклад Юрия Муленко. Юра рассказал нам про несколько интересных фишек, которые позволяют писать программы на C# в функциональном стиле.
В четверг состоялась очередная встреча нашего сообщества. Встреча прошла под названием «Функциональные элементы в ООП», именно потому, что доклады были не о функциональных языках программирования, а об использовании парадигмы функционального программирования в таких языках как Java, C# и Python.
Вечер открыл Андрей Солнцев с докладом «Функциональное программирование на Яве. Практикум на ЭВМ». Андрей популярно, с помощью бутербродного алгоритма, объяснил, в чём заключаются основные тезисы ФП, и рассказал как это можно использовать при написании программ на Java, с примерами Google Collections.
Довольно важный тезис, который подчеркнул Андрей, это то, что ФП в языке Java хорошо подойдёт для написания бизнес-логики, но, к сожаению, программист не имеет полного контроля над тем как будет исполнятся программа — этот контроль берёт на себя компилятор.
«Это же Python!» начал свой доклад Александр Мочёнов. Александр поведал нам немного об истории и философии, а так же о фишках ООП и ФП в языке Python.
Мы узнали что Python — это мультипарадигменный язык программирования, имеющий обширную стандартную библиотеку. Сказать откровенно, код на Python действительно кажется на столько «чистым», что потом код на Java или C# кажется кучей мусора — кажется, что фигурные скобки это действительно лишнее, а все программисты являются достаточно взрослыми людьми для того чтобы делать отступы правильно.
Не смотря на то, что Python является довольно популярным языком программирования в мире, в нашем сообществе почти не оказалось Python-программистов. Я насчитал всего 2 человека — и те — QA-инженеры 🙂 Александр заметил, что Python не рекомендуется для написания приложений, где очень важна производительность — вероятно это и есть причина.
Третий доклад, «Функциональное программирование в C#». Юрий Муленко рассказал нам о функциональных конструкциях языка C# которые здорово облегчают разработку. Для многих, по всей видимости, эта презентация стала выносом мозга, но как сказал Андрей в самом начале, «если это не убьёт ваш мозг, то сделает его сильнее». Понадеемся, что после прошедшей встречи, мозги всех участников стали ощутимо сильнее 🙂