В большинстве докладов про Groovy AST рассказывают одно и то же на одинаковых примерах. При этом для слушателя остаётся неясно: «А как, собственно, с этим работать-то?», поэтому рассказ будет следующим:
Что такое мета-программирование на уровне компиляции? Где используется?
Что требуется, чтобы начать писать свои трансформации? Что может помочь в процессе написания?
Образец трансформации на примере простейших аннотаций для контрактного программирования.
Остальным — здравствуйте! Было весело, вы многое пропустили.
Что именно? Благоволите:
Михаил Вайсман, наш гость из Питера, продавал нам язык Ruby.
Помимо синтаксического сахара, лямбд, mixin-ов, сокращений, язык оказывается такой из себя весь динамический, что его можно видоизменять (например для написания DSL) и на лету менять поведение всего чего только можно.
Из запомнившегося:
Код, который печатает сам себя, считывает и снова печатает сам себя, но уже дороже
Доставьте коллегам переопределив оператор + на *
Паттерн «Я сказал, это защищенная переменная», при котором попытка перезаписать значение выльется в удаление наглого класса
Роман Маринченко, разработчик Symfony2, показал BDD на PHP.
После краткого экскурса в суть успешных проектов, BDD, Петросяна и пони, Роман успел показать в живом режиме и разработку по методологии BDD и инструменты, которые облегчают жизнь разработчика.
Демо было проведено пошагово и в таком же виде досутпно на Гитхабе.
Из запомнившегося:
Спецификации может писать клиент, но как правило пишет сам разработчик
Обычный текст магическим образом превращается в полноценный функциональный тест
Есть хорошие BDD фреймворки для PHP — Behat, Mink
Антон Архипов из ZeroTurnaround, сделал вводную по Groovy.
Масса синтаксических плюшек, совместимость с Java и JVM, возможность «писать скрипты на Java», отличный API по работе с коллекциями, динамика… Всё то, чего не хватает enterprise программистам )
Из запомнившегося:
return — не обязателен
Grep — магический поиск по коллекциям
Builder-ы, позволяющие превращать код в структуры данных — XML, HTML, JSON и даже в Ant скрипты
Также имела место быть раздача футболок от Jetbrains.
C не меньшим удовольствием спешу порадовать, что у клуба появилось ещё 2 спонсора — Skype и Swedbank, информация о которых совсем скоро появится на нашем сайте.
Коротко расскажу о BDD, почему это вовсе не Bug Driven Development и как его применять на PHP с помощью Behat + Mink.
В конце будет простенькое live demo.
В девклубе уже были доклады об альтернативных языках программирования для JVM — Scala и Kotlin. В этот раз поболтаем о Groovy. Groovy рулит — приходите убедитесь! 🙂
Будет краткий экскурс в историю — почему Groovy стал одним из самых популярных языков программирования для JVM. В основной части рассмотрим разные плюшки и особенности, которые есть в Groovy, а так же подискутируем, для каких задач Groovy лучше всего подходит.
Михаил Вайсман (Санкт-Петербург) — Ruby-ть или не Ruby-ть
Я продам вам Ruby. Стоит ли вкладываться в изучении еще одного языка? Стоит ли выбрать в качестве изучаемого языка Ruby? Для меня ответ на оба вопроса — ДА! А вам я помогу найти свои положительные ответы!
Встреча обещает быть сугубо технической, из серии «и сразу в код». Так что не пропустите и следите за обновлениями!
Регистрация откроется за неделю до встречи.