Как вы уже, наверное, знаете, наша компания активно использует Scala и старается поддерживать комьюнити разработчиков. Так, не столь давно, мы инициировали создание московской юзер группы. В прошлый раз наш коллега ездил на конференцию по своей инициативе, о чем и отписывался в одной из предыдущих статей. В этот раз, уже по проторенной дорожке, было решено откомандировать двоих, особо отличившихся, сотрудников. Так, в общем, мы и поехали на Scala Days.
Далее я постараюсь описать свои впечатления от мероприятия и вкратце расскажу об особо запомнившихся презентациях. Все доклады доступны по ссылке.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/cd0/0bb/f42/cd00bbf42ceaacd7efbc51c124cd2979.jpg)
В этом году конференция проходила в Берлине. Город в целом понравился. Много парков и велосипедистов, мало машин. Север чем-то напомнил мне Москву. Достопримечательностей не так много, за пару-тройку дней можно обойти все туристические мекки. Местом для конференции был выбран кинотеатр Kosmos.
Первый день был не очень насыщенный. По плану был только кейноут Martin’а Odersky и афтепати. Перед регистрацией была встреча основателей скала юзер групп. Будучи единственным человеком из Москвы, я в итоге пердставлял московскую юзер группу. Времени было не так много, но успели познакомиться и обсудить насущные проблемы. Проблемы оказались, на удивление, более или менее у всех одинаковыми: как привлечь людей в группу, как сбалансировать доклады, чтобы было интересно всем категориям, от вновь прибывших до профессионалов своего дела, как поддержать интерес к группе, и всё в таком духе.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/55f/4a5/ba7/55f4a5ba75dc9075761fcc7fed30acdd.jpg)
Далее была презентация Martin’а Odersky “Scala. The Simple Parts”, в котором он рассказал, как ему видится программирование на скале и какие (лучшие) части языка он использует в своей повседневной работе. Немного вспомнили историю языка, каким он задумывался, и что в итоге получилось.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/112/7c4/7e7/1127c47e771456427a66e9f96365365b.jpg)
После был фуршет на котором все смогли познакомиться и пообщаться. Из посетителей было много немцев, выдялялось небольшое комьюнити индусов (навеяло на мысль, что Scala, таки, пробивается потихоньку в суровый энтерпрайс), и иногда удавалось услышать и русскую речь.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/daa/243/b37/daa243b375efe6d6762375b90c843a3c.jpg)
Следующие дни были уже полноценными и насыщены докладами. Второй день начался с кейноута Eric’а Meijer’а “Contravariance is the Dual of Covariance” про денотационные семантики. Eric, как водится, был в своей психоделической рубашке, которой он обычно гипнотизирует зрителей. Много шутил, и иногда было сложно понять, когда он троллит аудиторию, а когда говорит серьёзно. Как следствие, несмотря на академический уклон, доклад воспринялся довольно легко.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/5dd/c96/ab7/5ddc96ab74be72097464cb64cbc0efd1.jpg)
Далее, по ходу конференции в параллель читалось четыре доклада, и нужно было сделать выбор, кого, собственно, хочется послушать больше всего. В выборе очень помогало приложение от команды с названием 47 Degrees (кого-то напоминают, да?), написанное специально для конференции. Кроме просмотра расписания и добавления заитересовавших докладов в календарь, с помощью него можно постить в твиттер, смотреть информацию о докладчиках и (киллер фича) сохранять информацию о других участниках конференции (для этого, у каждого на бейджике есть QR-код). В общем, всё, чтобы не отвлекаться на технические мелочи и сделать времяпрепровождение на конференции приятным.
Презентаций было много, далее постараюсь вкратце рассказать про особо запомнившиеся.
Viktor Klang и Roland Kuhn постарались донести до аудитории, что же такое реактивность (reactive manifesto) и как добиться его с помощю реактивных стримов. Также было демо с лайв кодингом, на котором Kuhn демонстрировал возможности akka-streams. Вообще, если обратить внимание на названия презентаций, то слово “reactive” встречается, чуть ли не в каждом третьем докладе, и стало, на мой взгляд, баззвордом конференции. В общем, тренд налицо.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/55f/da1/75a/55fda175a4255dc26ad21257689832b2.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/360/b14/dbd/360b14dbdbcdef4f32ff7a7df18daa55.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/b16/62f/30a/b1662f30a1bf260459ccabdcddc2d10f.jpg)
Dynamic Push-Pull — вся суть реактивных стримов; ничего космического, очень похоже на tcp.
Mathias Doenitz рассказывал про будущее библиотеки spray. Главным месседжем было то, что spray будет частью akka 2.4 и будет основываться на reactive streams. Обещанное превью akka-http доступно уже сейчас, и все желающие могут приложить к нему руки, что не может не радовать.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/e05/472/27a/e0547227a29e1682453800f91773d8d0.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/ec4/907/5f0/ec49075f0f16fed750555e145ed806bd.jpg)
Изначально планировалось, что http модуль будет уже готов к конференции.
Chad Fowler рассказывал, о своей работе, про то как он убивает legacy системы. В докладе, он попытался дать определение таким системам и разобраться, почему, в конечном счёте, программное обеспечение становится legacy, и как этого можно избежать. В целом, очень хорошая презентация, заставляет задуматься над тем, чем мы с вами занимаемся.
Jon Pretty и Miles Sabin устроили целое представление в двух лицах. Получилось очень здорово. Было море шуток, порт Shapeless и live coding на Scala версии 1.3. Вспомнили всех заслуженных деятелей комьюнити.
Любителямхардкора scalaz Rúnar Bjarnason рассказал о способе композиции программ с помощю Free Monad. Суть в том, что логика программы задается композицией таких монад (хотя, в целом, монады стэкаются довольно плохо), что дает абстракцию над потоком выполнения. Изощренная аудитория найдет себе пищу для размышлений.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/812/a96/143/812a96143781fee7ec00b42313b4b245.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/1a2/828/de2/1a2828de24ae45486f0de80ca77988db.jpg)
Денис Шабалин делает quasiquotes для Scala. В докладе он рассказал об их возможностях и показал, как с помощю квази-цитат можно сделать интерпретатор языка Joy. Довольно интересная презентация с практическим уклоном.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/30d/b81/e37/30db81e37c4d93e057a5030d7fb6a30e.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/b15/226/6f9/b152266f9ba3902c1d5f3edb52e4198f.jpg)
В итоге, конференция оставила приятные впечатления. Организация была на уровне, комфортабельные залы кинотеатра не давали уставать после череды докладов, плюс, мероприятие проходило в дружеской атмосфере, что (вместе с немецким пивом), только способствовало общению. Все доклады были досотойными, спикеры подготовленными, и каждый мог найти себе talk по душе. В общем, попытался донести, что неплохо иногда выбирать время, чтобы просто развеяться, посмотреть новые места, пообщаться с интересными людьми и узнать для себя что-то новое.
Далее я постараюсь описать свои впечатления от мероприятия и вкратце расскажу об особо запомнившихся презентациях. Все доклады доступны по ссылке.
![](https://habrastorage.org/getpro/habr/post_images/cd0/0bb/f42/cd00bbf42ceaacd7efbc51c124cd2979.jpg)
Берлин
В этом году конференция проходила в Берлине. Город в целом понравился. Много парков и велосипедистов, мало машин. Север чем-то напомнил мне Москву. Достопримечательностей не так много, за пару-тройку дней можно обойти все туристические мекки. Местом для конференции был выбран кинотеатр Kosmos.
Кейноут
Первый день был не очень насыщенный. По плану был только кейноут Martin’а Odersky и афтепати. Перед регистрацией была встреча основателей скала юзер групп. Будучи единственным человеком из Москвы, я в итоге пердставлял московскую юзер группу. Времени было не так много, но успели познакомиться и обсудить насущные проблемы. Проблемы оказались, на удивление, более или менее у всех одинаковыми: как привлечь людей в группу, как сбалансировать доклады, чтобы было интересно всем категориям, от вновь прибывших до профессионалов своего дела, как поддержать интерес к группе, и всё в таком духе.
![](https://habrastorage.org/getpro/habr/post_images/55f/4a5/ba7/55f4a5ba75dc9075761fcc7fed30acdd.jpg)
Далее была презентация Martin’а Odersky “Scala. The Simple Parts”, в котором он рассказал, как ему видится программирование на скале и какие (лучшие) части языка он использует в своей повседневной работе. Немного вспомнили историю языка, каким он задумывался, и что в итоге получилось.
![](https://habrastorage.org/getpro/habr/post_images/112/7c4/7e7/1127c47e771456427a66e9f96365365b.jpg)
После был фуршет на котором все смогли познакомиться и пообщаться. Из посетителей было много немцев, выдялялось небольшое комьюнити индусов (навеяло на мысль, что Scala, таки, пробивается потихоньку в суровый энтерпрайс), и иногда удавалось услышать и русскую речь.
![](https://habrastorage.org/getpro/habr/post_images/daa/243/b37/daa243b375efe6d6762375b90c843a3c.jpg)
Конференция
Следующие дни были уже полноценными и насыщены докладами. Второй день начался с кейноута Eric’а Meijer’а “Contravariance is the Dual of Covariance” про денотационные семантики. Eric, как водится, был в своей психоделической рубашке, которой он обычно гипнотизирует зрителей. Много шутил, и иногда было сложно понять, когда он троллит аудиторию, а когда говорит серьёзно. Как следствие, несмотря на академический уклон, доклад воспринялся довольно легко.
![](https://habrastorage.org/getpro/habr/post_images/5dd/c96/ab7/5ddc96ab74be72097464cb64cbc0efd1.jpg)
Далее, по ходу конференции в параллель читалось четыре доклада, и нужно было сделать выбор, кого, собственно, хочется послушать больше всего. В выборе очень помогало приложение от команды с названием 47 Degrees (кого-то напоминают, да?), написанное специально для конференции. Кроме просмотра расписания и добавления заитересовавших докладов в календарь, с помощью него можно постить в твиттер, смотреть информацию о докладчиках и (киллер фича) сохранять информацию о других участниках конференции (для этого, у каждого на бейджике есть QR-код). В общем, всё, чтобы не отвлекаться на технические мелочи и сделать времяпрепровождение на конференции приятным.
Презентаций было много, далее постараюсь вкратце рассказать про особо запомнившиеся.
Reactive Streams: And why you should care
Viktor Klang и Roland Kuhn постарались донести до аудитории, что же такое реактивность (reactive manifesto) и как добиться его с помощю реактивных стримов. Также было демо с лайв кодингом, на котором Kuhn демонстрировал возможности akka-streams. Вообще, если обратить внимание на названия презентаций, то слово “reactive” встречается, чуть ли не в каждом третьем докладе, и стало, на мой взгляд, баззвордом конференции. В общем, тренд налицо.
![](https://habrastorage.org/getpro/habr/post_images/55f/da1/75a/55fda175a4255dc26ad21257689832b2.jpg)
![](https://habrastorage.org/getpro/habr/post_images/360/b14/dbd/360b14dbdbcdef4f32ff7a7df18daa55.jpg)
![](https://habrastorage.org/getpro/habr/post_images/b16/62f/30a/b1662f30a1bf260459ccabdcddc2d10f.jpg)
Dynamic Push-Pull — вся суть реактивных стримов; ничего космического, очень похоже на tcp.
akka-http: (un)REST for your Actors
Mathias Doenitz рассказывал про будущее библиотеки spray. Главным месседжем было то, что spray будет частью akka 2.4 и будет основываться на reactive streams. Обещанное превью akka-http доступно уже сейчас, и все желающие могут приложить к нему руки, что не может не радовать.
![](https://habrastorage.org/getpro/habr/post_images/e05/472/27a/e0547227a29e1682453800f91773d8d0.jpg)
![](https://habrastorage.org/getpro/habr/post_images/ec4/907/5f0/ec49075f0f16fed750555e145ed806bd.jpg)
Изначально планировалось, что http модуль будет уже готов к конференции.
Legacy
Chad Fowler рассказывал, о своей работе, про то как он убивает legacy системы. В докладе, он попытался дать определение таким системам и разобраться, почему, в конечном счёте, программное обеспечение становится legacy, и как этого можно избежать. В целом, очень хорошая презентация, заставляет задуматься над тем, чем мы с вами занимаемся.
Scala: The First Ten Years
Jon Pretty и Miles Sabin устроили целое представление в двух лицах. Получилось очень здорово. Было море шуток, порт Shapeless и live coding на Scala версии 1.3. Вспомнили всех заслуженных деятелей комьюнити.
Composable application architecture with reasonably priced monads
Любителям
![](https://habrastorage.org/getpro/habr/post_images/812/a96/143/812a96143781fee7ec00b42313b4b245.jpg)
![](https://habrastorage.org/getpro/habr/post_images/1a2/828/de2/1a2828de24ae45486f0de80ca77988db.jpg)
Quote or be quoted
Денис Шабалин делает quasiquotes для Scala. В докладе он рассказал об их возможностях и показал, как с помощю квази-цитат можно сделать интерпретатор языка Joy. Довольно интересная презентация с практическим уклоном.
![](https://habrastorage.org/getpro/habr/post_images/30d/b81/e37/30db81e37c4d93e057a5030d7fb6a30e.jpg)
![](https://habrastorage.org/getpro/habr/post_images/b15/226/6f9/b152266f9ba3902c1d5f3edb52e4198f.jpg)
В заключение
В итоге, конференция оставила приятные впечатления. Организация была на уровне, комфортабельные залы кинотеатра не давали уставать после череды докладов, плюс, мероприятие проходило в дружеской атмосфере, что (вместе с немецким пивом), только способствовало общению. Все доклады были досотойными, спикеры подготовленными, и каждый мог найти себе talk по душе. В общем, попытался донести, что неплохо иногда выбирать время, чтобы просто развеяться, посмотреть новые места, пообщаться с интересными людьми и узнать для себя что-то новое.