Прошедшая встреча порадовала нас разнообразием и живостью дискуссий, но обо всём по порядку.
Первым выступил Арсений Григорьев с докладом про аспектно-ориентированное программирование (AOP) при помощи AspectJ и Spring Framework. Суть, как оказалось в том, что очень часто в огромном методе написано куча кода, который на самом деле к проблеме не относится, а львиная доля кода призвана выполнять какие-либо вспомогательные операции. Адепты АОП предлагают выносить весь этот лишний код в аспекты. Идея отличная, но не без изъянов — AspectJ изменяет байткод скомпилированных классов для того чтобы заставить аспекты работать. Таким образом, на уровне исходного кода лишней писанины можно избежать, но этот же «лишний» код будет потом вставлен уже в бинарном виде, и это для многих может показаться мистикой и чернокнижеством.
Кому стала интересна данная тема, и хочется узнать больше, советую поискать (приобрести) вот такие книги:
Foundations of AOP for J2EE Development
Spring Recipes: A Problem-Solution Approach
Далее, Евгений Чайкин рассказал нам Windows Phone 7, какие фишки ожидаются в этом телефоне, и для этого нового телефона можно будет писать программы. Евгений продемонстрировал это наглядно, за несколько минут написав небольшую программу для чтения RSS-ленты с нашего сайта. Порадовала простота разработки в Visual Studio 2010.
Последним выступил Андрей Солнцев с докладом который назывался «WTF code» (или как говорят в народе — говнокод). Андрей привёл много забавных примеров кода, чем вызвал множество обсуждений в зале. Без холивора не обошлось. Соответственно доклад растянулся из 45 минут до 1.5 часа.
Кроме того, был объявлен победитель в соревновании — Андрей Филимонов. Победа за решение на JavaScript была присуждена с формулировкой «за креативность!».
Напишите нам, как по вашему мнению прошла встреча? Что понравилось? Что могло бы быть лучше? Может быть у вас появилось желание выступить с докладом? Или есть сильный интерес в какой то теме и вы считаете что хотели бы услышать об этом доклад. Пишите в гугло-группу (или форум) — мы с удовольствием выслушаем все мнения!
zahardzhan
Почему то, что в Common Lisp’е называется ООП — в Java называется AOП?
Антон Архипов
чесно говоря, вопрос не понятен. с каких пор в CL есть ООП?
Jevgeni Holodkov
Есть, есть, CLOS называется. http://en.wikipedia.org/wiki/Common_Lisp_Object_System
Антон Архипов
хорошо. но всё равно, вопрос не корректен.
«то, что в Common Lisp’е называется ООП – в Java называется AOП?» т.е. ООП в CL == AOP в Java. это разные вещи. и AOP в Java вообще нет. AspectJ это всего лиш костыль, имхо
zahardzhan
Я говорю о том, что в костыле для Java есть before after и around, и в CLOS есть комбинаторы методов before after и around. Суть одна — «ориентированность» разная.
Антон Архипов
ну не знаком с CLOS, звиняйте. но аналогию между ОПП и АОП проводить как-то нипаняяятна
zahardzhan
Это не аналогия. Не буду спорить, просто скажу — здешнее «АОП» — стандартная фича объектной системы Common Lisp’а. CLOS — простая и мощная штука и любителям ООП и Java с ней очень стоит ознакомиться.
Антон Архипов
определённо, спасибо за совет!
Alexander
А когда будет видео? или хотябы аудио к слайдам. Особенно интересно посмотреть/послушать про АОП
Антон Архипов
про АОП видео будет сегодня. Остальные пока в обработке