Отчет и мысли о конференции Euruko 2013
July 3, 2013 , revised July 4, 2013 in EventsСегодня я вернулся с Европейской конференции рубистов EuRuKo 2013. Это была первая международная конференция в моей жизни, и мне очень понравилось.
Последнее время у меня был глубокий застой в плане творчества и особенно в плане Руби. Я не знал, чем заняться. Конференция это исправила - я увидел людей, у которых полно энтузиазма, и он перешел и ко мне.
Так что если ты скучаешь на работе и тебе кажется, что ты в болоте и надо все бросить и уехать на Таити, съезди лучше на конференцию. Пользуясь случаем, благодарю Railsware за спонсирование моего участия, а также передаю привет хорошим людям @leopard_me, @chalexr, @paladiy, @TanyaLyashenko и Оле Петрик, которые тоже ездили, и @ptico, @beai и @kaetanaalba, которых там встретили.
Кейноут делал не кто иной, как сам Юкихиро Мацумото, и рассказывал он интересные вещи. Что для создания компьютерного языка - а компьютерным языком можно назвать и интерфейс библиотеки, и модные нынче Domain-specific languages - автор должен иметь четкие и категорические убеждения, которые будут формировать язык.
Я раньше считал, что языки проистекают из ограничений, в которых они созданы, но после этого доклада понял, что убеждения автора имеют первоочередную роль - например, Ruby не стал бы таким, какой он есть сейчас, если бы Мац планировал применять его для веб-проектов. Нет, он делал скриптовый язык своей мечты, и Ruby такой и получился. Кстати, Мац сообщил, что больше всего в разработе Ruby он сожалеет о заимствовании функционала из Perl.
Еще один вывод - любовь или нелюбовь к языку суть согласие или несогласие с мнением автора. Нет плохих языков, есть мало популярные. Не надо спорить о том, какой язык лучше. MINSWAN.
Еще один вывод - “писать велосипед” имеет смысл только в том случае, если твои убеждения вкрай расходятся с существующей концепцией. А ради одной фичи - не надо.
Самой обсуждаемой темой на конференции была работа с памятью. Коичи Сасада и Крис Келли рассказывали о сборщике мусора. Диржан Буссинк рассказывал о подходах к снижению количества объектов в Рубиниусе. Тема для многих неинтересная, потому как практического вывода из неё нет, вот Ярослав вообще считает, что благодаря PaaS инженеры не обязаны и не должны заморачиваться над таким низким уровнем. А как по мне, то сборщики мусора - интересная область прикладного применения алгоритмов и компьютерной теории.
Другая тема - функциональное программирование. Пэт Шонесси рассказал про ленивые перечисления в Ruby 2, к которым руку приложил и наш Кеша Михайлов. Тема проскакивала и у других докладчиков. Лично для меня Ruby является объектно-ориентированным языком, в котором функционалка стоит на третьем месте.
Был невероятно меня порадовавший доклад от Бена Смита из Pivotal Labs о Domain-Driven Design. Я обожаю DDD как идею. Я когда-нибудь обязательно напишу об этом статью, потому что очень много людей не знают о DDD, да и я бы не знал, если бы не Андрей Щеглов. Вкратце идея доклада: пилить приложение на отдельные Rails engines, как модель от веб-части, так и модель на логические кусочки. Каждый Engine заворачивается в отдельный гем. Как пилить, объясняет DDD. В результате - красивая архитектура с тонкими интерфейсами. Я бы, наверное, так далеко не шел, и изолировал бы в модули.
Я уже пробовал реализовать DDD на Rails, ничего не вышло - теперь буду пробовать еще.
Константин Теннхард (с остроумным ником @t6d) поведал о существовании готовой библиотеки OpenNLP для обработки естественного языка. (Угадайте, какой язык она не поддерживает.) А я-то писал велосипеды, разбивая текст на предложения и слова. Впрочем, вроде бы обычные подходы NLP не работают, если текст не имеет четкой структуры. Константин тоже представил интересную библиотеку для структурирования конвейерной обработки данных.
Был доклад про то, как у людей 45000 тестов для одного веб-приложения (sic). Ничего нового про тесты не рассказал, и в частности, не рассказал, зачем им столько - зато заметил, что все равно их тесты не гарантируют отсутствие багов. Перефразируя закон Парето, 5000 тестов покрывают 80% функциональности, еще 40000 - еще 10%, и последние 10% приходится проверять вручную. Никакой тест пока не умеет сказать, что у тебя верстка поехала (хотя вертикальный ритм автотесты в силах проверить, хммм, идея!)
Была пара докладов о том, что не всегда открытое голосование за темы гарантирует интересный материал, и о том, что смешные картинки плюсуют харизму, но минусуют мудрость.
Euruko 2014 будет в Киеве. С одной стороны, это очень круто. Я думаю, у ребят все получится. С другой стороны, нельзя сказать, что грекам-организаторам эта конференция сильно помогла засветиться и пропиариться. Но, есть большая польза в том, что украинские рубисты смогут пообщаться со звездами, да и просто с коллегами из других стран, вживую.
Весь видеопоток с конференции можно посмотреть тут, фотографии от Тани Ляшенко тут, а мой лайвкаст в твиттер перечитать тут - в нем много интересных ссылок в тему.
Понравился пост? Купи мне кофе