Побывал на tech days 2010. Хотелось сравнить с прошлогодней, особенно в свете всеми известных событий. Ну и на Джеймса Гослинга хотелось посмотреть.
День первый
Пленарка обещала быть интересной: 0 будущем Java в Oracle должен был рассказать Сам. Но не рассказал. Вместо этого почти 2 часа нас снова пичкали JavaFX (доколе?). Половина докладов была один-в-один прошлогодние, что добавляло скуки. Один из топ-менеджеров Oracle, в задачу которого я так понимаю входило "завести" аудиторию, с ней не справился и скучно вещал ничего не обещающие утверждения о том, что "с Java в Oracle все будет хорошо, потому что мы ее любим и ценим". Единственное что было услышано мной в первый (и не последний) раз - о closures в JDK7.
Затем я отправился в секцию Solaris, где название звучало как обещание озвучить roadmap для Solaris. Опустив "рекламу" (Solaris это надежность, масштабируемость и защищенность), я вынес главное утверждение доклада - в рамках Oracle будут развиваться и Solaris и Linux. Без расставление акцентов. Оба.
Дальше прослушал пару стендовых докладов. JetBrains рассказывали про TeamCity. Ничего нового не узнал. TeamCity быстр удобен и вообще мне нравится :) Потом предствитель OpenJDK (все тот же Sun) рассказывал как собрать OpenJDK самому. Мало что запомнилось, помимо того, что это непросто и займет часы.
После обеда Саймон рассказывал про скриптовые языки в JVM. Запомнилось "Выбирайте язык исходя из поставленной задачи, JVM всё стерпит". И еще "создатель Groovy признался, что он бы не придумал Groovy, если бы в то время была Scala". Учить Groovy сразу расхотелось :)
Николай Иготти как и в прошлом году рассказывал про VirtualBox. Продукт определенно неплохой, попробую когда начнет поддерживать MacOS как гостевую систему.
В секции стендовых докладов рассказывали про Sun Java Realtime System. За 20 минут успели рассказать что из себя она собственно представляет, но ничего нового я не услышал. Была отличная статья на английской про Java RTS, но ссылку не помню. Сановская реализация сейчас основана на JDK 5 и работает на всех Solaris и на real-time kernel Linux.
День второй
На второй день слушать про JavaFX на пленарке не было никакого желания, поэтому я выбрал сон :). А день начался со стендовых докладов. JetBrains рассказали что эксперимент с бесплатной IDEA был признан успешным, что они дальше будут портировать больше функциональности из платной версии в бесплатную. Еще сказали что дальнейшее развитие видят в минорных вещах, крупный функционал уже сделан. Порадовали проектом IDE для разработки под IPhone. Давно пора :)
Доклад о новых фишках в JDK7 ребята из Sun рассказали неплохо. Спровоцировали пару холиваров и блестяще их парировали пригласив всех в онлайн конференцию по JDK. А вообще, здесь описано лучше и объемнее чем это могу сделать я.
В секции Solaris рассказывали про "многоядерный мир" и как в нем следует разрабатывать приложения (для Solaris, конечно). Было неинтересно, я запомнил только что нужно использовать специальную солярную функцию для выделения памяти, а не malloc.
JetBrains хвастались о MPS. Штука интересная, непростая и наверное полезная. Осталость только придумать где бы ее применить да еще при желании не ломая старое, а встраиваясь в него. С последним пока непонятки... Задумался, является ли Google Protobuf MPS или нет.
Снова Sun рассказывал про новый сборщик мусора как и в прошлом году. В этот раз доклад был менее информативен в технических деталях, а потому зацепил не очень. Главное, (в чем я почему-то заблуждался) это то, что Stop-the-world пауза вызывается для сборок и молодого и старого поколений, хотя сами поколения для G1 достаточно условны. Пообещали что в JDK7 будет стабильная версия. Хотя у меня и теперешняя не падала (ну разве что в IDEA).
И напоследок был интересный доклад про "внутренности JVM". То есть, я думал, что он будет про внутренности. А нам рассказали про оптимизации, которые JVM делает во время JIT компиляции в runtime. Давно хотел это услышать из первых уст. Заниматься микро оптимизациями (вроде замены StringBuffer на StringBuilder) расхотелось совсем. У JVM всё равно получится лучше. Главный посыл - писать код как все, как рекомендуют гуру и лучше не изобретать велосипедов. Потому что JVM оптимизаторы тренируются на похожем коде библиотек, которые все используют.
Ну а дальше были выходные с отличной и нехарактерной для Питера солнечной погодой...