Побывал на конференции FPConf. Поделюсь своими мыслями, возникшими при прослушивании докладов. Я в основном сидел на втором потоке, где было про scala, UI и пр. Первый поток был преимущественно про Erlang и Haskell.
Организаторы обещали, что будет видео, надеюсь пополнить эту статью ссылкам в будущем.
Upd 09.12.2015: дополнил.
Cамурайский путь молодого scala-программиста, Сергей Лобин, Sputnik.ru
В докладе было мало про scala, больше про проблемы при разработки геокодера в Спутнике. Главный печальный для всех фанатов Scala вывод – Scala в production и них не прижилась, найти разработчиков сложно, Go разработчиков найти значительно проще.
Макросы scala, Михаил Муцянко, JetBrains
Хороший вводный доклад про макросы Scala от разработчика Scala plugin в IDEA.
Из запомнившегося:
Удобный способ построения AST в макросе через Q интерполятор (квазикватирование).
Килер фича, когда Михаил нажатием одной волшебной кнопки прямо в IDEA, показал как разворачивается макрос в Scala код. К сожалению оказалось, что это не из production версии плагина и вроде ожидать такое в ближайшее время не стоит, так как работает не всегда корректно. Очень вкусная возможность, будем ждать.
В 2.12 ожидается значительное улучшение в деле разработки макросов за счёт нового проекта ScalaMeta.
Хорошая ссылка на изучение: What Are Macros Good For? от Евгения Бурмако YouTube, слайды. BTW про самого Евгения и его работу над Scala макросами можно узнать в EaxCast S02E10.
Доклад рекомендую к просмотру.
Встраивание языка в строковой интерполятор, Михаил Лиманский, ЭСК
Хороший практический доклад, как вместо DSL порой можно обойтись интерполятором. Какие возможности, плюсы и минусы такого подхода. Можно прямо брать доклад и писать свой интерполятор как по tutorial'у.
В качестве домашнего задания для себя запомнил задачу реализовать интерполятор для типобезопасного форматирования строки. Хотим с aveic попробовать независимо друг от друга реализовать это и посмотреть, что получиться.
Рекомендую для тех, кто интересуется темой.
Lenses And Prisms, Эдвард Кметт
Самый звёздный докладчик на конференции. К сожалению без знания хотя бы основ синтаксиса Haskell понять что-то было сложно. Докладчик проводил доклад в потрясающей форме - выдавая как из пулемёта кучу кода на Haskell прями в vim'е.
Чтобы понять что к чему, я смотрел на порт этой библиотеки на Scala - Monocle.
В общих словах – это удобный способ изменения иммутабельных структур с возможностью написания максимально абстрактных маленьких кусочков с дальнейшим комбинированием в более сложные кусочки.
Видео к сожалению не выложили.
Реактивные потоки в backend-е, Алексей Романчук, 2ГИС
Хорошая success story про использование akka streams в production. Для меня теперь это один из ответов на вопрос «где нам нужна akka?».
Забавные слайды с цветными "сосиками".
Прозвучавшее число потерь на akka streams по сравнению с голыми акторами ~10%.
Рекомендую всем, кому интересны akka streams.
Scala performance для сомневающихся, Роман Гребенников, Sociohub.ru
Самый запомнившийся доклад. Покрывает сразу две темы - пару примеров того как все модные молодёжные FP штуки из scala отражаются в bytecode JVM и машинном коде, какие потери они за собой несут или не несут. А также способы самому развернуть, померить и понять как выполняется тот или иной код.
Вкратце про проблемы – простой pattern matching по типу параметра - также быстро как колбаса из if'ов. Есть проблемы с boxing/unboxing в Scala collection и прикладывать @specialized не поможет.
Рекомендую к просмотру.
В общем
Очень приятное послевкусие от конференции, не ожидал, что про FP будет так целостно. Как сказали организаторы было 180 человек.
Не посмотрел в живую «Фронтэнд без грусти» Никиты Прокопова, о котором наслышан от коллег, которые видели доклад на какой-то другой конференции. А также хочется поглядеть на «Aрхитектура UI на основе функциональных линз» от Ильи Беда.
Буду ждать видео. Дождались.