Блог компании .тостер → Срочно в номер!
Непредвиденные ситуации случаются у всех — от них не застрахован абсолютно никто. Форс-мажор случился и у нас: в ходе подготовки конференции тостер {ruby} выяснилось, что по непредвиденным обстоятельствам два участника конференции, а именно: Скотт Чакон (GitHub) и Блейк Мизерани (Heroku), не смогут вылететь из Сан-Франциско и принять участие в нашем эвенте.Но так как мы не лыком шиты и очень вас любим, мы так же понимаем, что заплатив за билет вы ожидаете от нас отличного мероприятия. И мы его подготовим — в сверхсжатые сроки (фактически, за один день), с помощью отличных ребят из Evil Martians, нашли замену Скотту и Блейку. Под катом мы расскажем о том, кто согласился порадовать нашу публику своей темой 10-го февраля в Москве.
Ruby → Сравнение производительности JRuby 1.7 на OpenJDK b147 и YARV 1.9.3p0
После вот этого поста, сообщающего о сногсшибательном увеличении производительности JRuby в версии 1.7 при работе на OpenJDK 7u2 в 3 раза относительно предыдущих релизов.
Припоминая относительную тормознутость и прожорливость JRuby в 2009м, и вот такую статистику от Programming languages shootout, я решил дать JRuby очередной шанс.
Сравнение не претендует ни на точность измерений, ни на всеобъемлемость тестов, а лишь призвано выяснить, догнал ли JRuby YARV по производительности, или нет. На старт, внимание,
Припоминая относительную тормознутость и прожорливость JRuby в 2009м, и вот такую статистику от Programming languages shootout, я решил дать JRuby очередной шанс.
Сравнение не претендует ни на точность измерений, ни на всеобъемлемость тестов, а лишь призвано выяснить, догнал ли JRuby YARV по производительности, или нет. На старт, внимание,
Ruby → Ускорение JRuby в три раза после установки JDK 7u2
Команда разработчиков JRuby настоятельно рекомендует всем установить последнюю версию OpenJDK 7u2 (OpenJDK 7 update 2), которая значительно доработана по сравнению с июльским релизом JDK 7 GA (General Availability). Среди прочего, сделана важная оптимизация в подсистеме invokedynamic. Поскольку JRuby 1.7 активно использует эту подсистему, то разработчики специально придерживали выпуск 1.7, дожидаясь этого апдейта. Собственно, официальный релиз 1.7 не произошёл до сих пор, но предварительную сборку для тестирования можно скачать здесь.
При использовании JRuby 1.6.x после апгрейда с Java 6 на Java 7 вы увидите прирост скорости JRuby-приложений примерно на 10-30%, а в случае с JRuby 1.7 — примерно в три раза!
Разработчики просят тех, кто не заметил никакой разницы в производительности, зарегистрировать сообщение в баг-трекере. Очевидно, это какой-то баг, который постараются исправить к официальному релизу JRuby 1.7.
Это ещё не всё. Для будущего OpenJDK 7u4 запланирован новый оптимизатор invokedynamic, и ребята из OpenJDK говорят о возможности ещё большего увеличения производительности.
При использовании JRuby 1.6.x после апгрейда с Java 6 на Java 7 вы увидите прирост скорости JRuby-приложений примерно на 10-30%, а в случае с JRuby 1.7 — примерно в три раза!
Разработчики просят тех, кто не заметил никакой разницы в производительности, зарегистрировать сообщение в баг-трекере. Очевидно, это какой-то баг, который постараются исправить к официальному релизу JRuby 1.7.
Это ещё не всё. Для будущего OpenJDK 7u4 запланирован новый оптимизатор invokedynamic, и ребята из OpenJDK говорят о возможности ещё большего увеличения производительности.
Персональные блоги → 8 июня — встреча Java-разработчиков с участием Ренделла Томаса
8 июня в Минск приедет Randall Thomas – опытный разработчик, архитектор и директор по развитию компании EngineYard. Это, пожалуй, крупнейшая компания в мире, которая разрабатывает cloud-платформы для Ruby on Rails-приложений. Вы спросите, каким боком они имеют отношение к Java?.. Отвечаю: Рэнделл расскажет нам об open source-проекте JRuby — Java-имплементации языка Ruby. Первоначально JRuby разрабатывался в SUN Microsystems, после чего его разработчики перешли в EngineYard.
Фактически, JRuby прозволяет связать вместе два языка программирования: Java и Ruby. Рэнделл подробнее представит эту интересную технологию, а также выскажет свои мысли по поводу будущего Java. Warning! Не исключены горячие дискуссии!
Также на встрече выступит Сергей Бушик, который в своем докладе «Opening a fabulous world of Cassandra» расскажет о NoSQL-ных базах. Речь пойдет о концепции NoSQL и Cassandra, парадигме key-value, column-oriented системах, чтении и записи данных в Cassandra – connectivity, настройке производительности и конфигурации, интеграции Cassandra с Hadoop. Сергей – опытный специалист в области разработки web-ориентированных приложений и web-сервисов, архитектуре многоуровневых систем и дизайна, в частности он разрабатывал дизайн ряда проектов для Cassandra.
Вход на мероприятие бесплатный.
Необходима предварительная регистрация тут.
Начало мероприятия – 18.00
Регистрация участников на месте – с 17.30
Адрес: г.Минск, ул. Котовского 14, корпус 9, аудитория 9-12 (Минский Институт Управления).
Фактически, JRuby прозволяет связать вместе два языка программирования: Java и Ruby. Рэнделл подробнее представит эту интересную технологию, а также выскажет свои мысли по поводу будущего Java. Warning! Не исключены горячие дискуссии!
Также на встрече выступит Сергей Бушик, который в своем докладе «Opening a fabulous world of Cassandra» расскажет о NoSQL-ных базах. Речь пойдет о концепции NoSQL и Cassandra, парадигме key-value, column-oriented системах, чтении и записи данных в Cassandra – connectivity, настройке производительности и конфигурации, интеграции Cassandra с Hadoop. Сергей – опытный специалист в области разработки web-ориентированных приложений и web-сервисов, архитектуре многоуровневых систем и дизайна, в частности он разрабатывал дизайн ряда проектов для Cassandra.
Вход на мероприятие бесплатный.
Необходима предварительная регистрация тут.
Начало мероприятия – 18.00
Регистрация участников на месте – с 17.30
Адрес: г.Минск, ул. Котовского 14, корпус 9, аудитория 9-12 (Минский Институт Управления).
Персональные блоги → Jython vs Groovy vs JRuby vs …
Господа, внезапно — сабж!? Вопрос вызван тем, что какое-то довольно продолжительное время я был вдалеке от Java-технологий, писал на C++ и Python (и продолжаю писать), но один из курсов университета (конкретнее — component based software development) будет требовать либо одного из JVM-based языков (Java отпадает за неинтересностью) либо .NET языков (отпадает по определению так как Windows у меня нет и не будет). Немного изучив вопрос, пришел к выводу что:
Пока начал играться с Groovy и он мне, в принципе, нравится — но возможно, я упускаю что-то существенное, ограничивая себя этим языком?
Всем хабралюдям заранее спасибо за мнения!
- Преимущества в пользу Jython — по большому счету, это Python, который я хорошо знаю и люблю, с возможностью использовать Java классы. Но, если верить слухам, сейчас он почти не развивается. Хотя опять же, кому верить-то?
- Преимущества Groovy — новый язык, активно развивающийся, комбинирующий в себе достоинства многих языков и парадигм (тот же Python и Ruby в них входят). Недостатки — новый язык, активно развивающийся ;-) Сравнительно мало документации и кода по сравнению с Python
- Преимущества JRuby… я что-то весь в затруднениях, но все о нем говорят. Полная совместимость с Ruby, да. Но Руби я все равно не знаю, так что учить с нуля, так же как и Groovy.
Пока начал играться с Groovy и он мне, в принципе, нравится — но возможно, я упускаю что-то существенное, ограничивая себя этим языком?
Всем хабралюдям заранее спасибо за мнения!
Персональные блоги → JavaOne 2009, конференция
С 1 по 5 июня в Сан Франциско проходила конференция JavaOne.
Удивительно, что на Хабре об этом ни слова! Возможно это потому, что за Джавой с точки зрения веб-разработчиков закрепились сервлеты и JSP (а может просто потому, что на хабре Java не очень популярна).
А ведь там было на что посмотреть, было что послушать, было с кем поговорить и было что потыкать! Ну и разумеется, памятные сумки, майки и кепки =)
А еще можно было посмотреть на живых создателей и разработчиков платформ, технологий и просто интересных людей, которые собственноручно внесли огромный вклад в эволюцию джавы, интернета и всего-всего.
Если вам это было бы интересно, вы все еще можете зацепить небольшой кусочек:
java.sun.com/javaone
и посмотреть видеозаписи с основных заседаний (http://java.sun.com/javaone/2009/general_sessions.jsp)
На конференции много говорили о
Cloud platforms (облаках и всем что с ними связано)
Free & open (опенсорсе)
Mobile development (мобильниках)
Operating systems and platforms (операционках)
RIA and scripting ( небедных интернет приложениях и скриптинге)
и о будущем джавы и ее последователях
О модности cloud платформ можно узнать именно на таких конференциях. «Облака», символизирующие что-то большое белое и пушистое, но не гигантскую крысу-альбиноса, на слуху почти везде. Концепция замены датацентров на гибкие cloud-решения обсуждаются как минимум в двух аудиториях. В этом секторе в основном доминируют
Мне удалось побывать на одной лабе по Sun Cloud Storage, где можно было самолично написать небольшую прогу, которая оперирует с файлами на Sun Cloud Storage (к слову, с точки зрения API, совместимому с Amazon S3).
Что касается «облачных» преимуществ для разработки веб-сервисов и приложений, основной упор ставится на
Как выяснилось, Джава идет на встречу и другим языкам программирования. Проект Da Vinci Machine позволил портировать другия языки программирования на платформу Java. Примечательно, что jRuby уступает по производительности лишь последней версии Ruby 1.9.
Кстати, если, как и я, считаете, что на Java нужно писать слишком много кода для выполения простых задач, попробуйте Groovy!
Ну а теперь самое интересное!
Если вы думаете, что под RIA платформами всегда будут подразумеваться Flash, Flex и Silverlight, а Java будет представлена лишь старыми «добрыми» апплетами, обломитесь! На этой конференции анонсировали релиз JavaFX 1.2.
Наверное, такая вещь заслуживает отдельной статьи хотя бы потому что JavaFX долго почивала в разработческих недрах. В рамках конференции ей тоже уделялось немало внимания.
Что такое JavaFX в двух словах без лишних терминов? Это платформа (язык + то, на чем она работает) с возможностью создания красивых графических приложений =) И поскольку он работает на той же JVM, можно использовать все доступные библиотеки Java. В итоге получается универсальная платформа для дестопов, веба, соток, блю-рей проигрывателей, двд-выигрывателей и всего, где есть JVM (надеюсь, в недалеком будущем)
По синтаксису JavaFX напоминает Java, Actionscript… и почему-то JSON (уж больно похож на него декларативный формат описания объектов)
На JavaFX можно создавать не только красочные цветастые интерактивные апплеты, но и совершенно безобразные и уродливые вещи, кои получились у меня в ходе лабы :D Ну, просто неудобно делать графические вещи без визуального редактора… зато межплатформенно…
Павильон
Ну и на последок, в огромном зале были размещены точки с представительствами самых разных именитых и не очень контор, названия которых я не помню, и возможно даже и не выговорю. Там тоже проводились небольшие семинарчики, демонстрации, розыгрыши и раздача халявы. У стенда JavaFX можно было поиграть в забавные игры на самых различных устройствах (перчатках-манипуляторах, сотках, блю-рейном проигрывателе).
Адоб демонстрировали PixelBender и взаимодествия Flex и BlazeDS с остальными. В другом отделе можно было попробовать установить openSolaris и получить фирменную майку и значок (пионерский подход). А в перерывах можно было поиграться в Quake и постучать на Rockband =D
У стойки Amazon можно было решить небольшую задачку и получить фигурку нинзя-кодера.
Среди всех прочих был и стенд некой фирмы, которая занималась защитой ПО и прочего от копирования (DRM и прочие). Возле стенда дежурил пожилой мужичок, который явно скучал от одиночества.
Некоторые пророчат, что эта конференция была последней в связи с недавним приобретением компании Sun конторой Oracle, с чем многие выступавшие там не согласны. Но как бы то ни было, я надеюсь, что в следующем году будет JavaOne 2010 и у меня будет повод написать еще один пост.
P.S.: Удивительно, но больше половины людей на лабах сидели с маками о_О
Еще там были общедоступные терминалы, которые работали по карточкам. Из Sun Virtual Box'a на выбор можно было загружать openSolaris, Ubuntu 9.04 или Windows-7.
Удивительно, что на Хабре об этом ни слова! Возможно это потому, что за Джавой с точки зрения веб-разработчиков закрепились сервлеты и JSP (а может просто потому, что на хабре Java не очень популярна).
А ведь там было на что посмотреть, было что послушать, было с кем поговорить и было что потыкать! Ну и разумеется, памятные сумки, майки и кепки =)
А еще можно было посмотреть на живых создателей и разработчиков платформ, технологий и просто интересных людей, которые собственноручно внесли огромный вклад в эволюцию джавы, интернета и всего-всего.
Если вам это было бы интересно, вы все еще можете зацепить небольшой кусочек:
java.sun.com/javaone
и посмотреть видеозаписи с основных заседаний (http://java.sun.com/javaone/2009/general_sessions.jsp)
На конференции много говорили о
Cloud platforms (облаках и всем что с ними связано)
Free & open (опенсорсе)
Mobile development (мобильниках)
Operating systems and platforms (операционках)
RIA and scripting ( небедных интернет приложениях и скриптинге)
и о будущем джавы и ее последователях
О модности cloud платформ можно узнать именно на таких конференциях. «Облака», символизирующие что-то большое белое и пушистое, но не гигантскую крысу-альбиноса, на слуху почти везде. Концепция замены датацентров на гибкие cloud-решения обсуждаются как минимум в двух аудиториях. В этом секторе в основном доминируют
- Amazon EC2 (их представителей не видел, хотя были другие ребята с Амазона)
- Google Apps
- Microsoft Azure
- Sun Cloud Platform
Мне удалось побывать на одной лабе по Sun Cloud Storage, где можно было самолично написать небольшую прогу, которая оперирует с файлами на Sun Cloud Storage (к слову, с точки зрения API, совместимому с Amazon S3).
Что касается «облачных» преимуществ для разработки веб-сервисов и приложений, основной упор ставится на
- гибкость (хочешь плюшку — возьми с полки),
- масштабируемость(плюшки уменьшаются и увеличиваются в размерах по требованию)
- и экономность (платите только за откушенную часть плюшки)
Как выяснилось, Джава идет на встречу и другим языкам программирования. Проект Da Vinci Machine позволил портировать другия языки программирования на платформу Java. Примечательно, что jRuby уступает по производительности лишь последней версии Ruby 1.9.
Кстати, если, как и я, считаете, что на Java нужно писать слишком много кода для выполения простых задач, попробуйте Groovy!
Ну а теперь самое интересное!
Если вы думаете, что под RIA платформами всегда будут подразумеваться Flash, Flex и Silverlight, а Java будет представлена лишь старыми «добрыми» апплетами, обломитесь! На этой конференции анонсировали релиз JavaFX 1.2.
Наверное, такая вещь заслуживает отдельной статьи хотя бы потому что JavaFX долго почивала в разработческих недрах. В рамках конференции ей тоже уделялось немало внимания.
Что такое JavaFX в двух словах без лишних терминов? Это платформа (язык + то, на чем она работает) с возможностью создания красивых графических приложений =) И поскольку он работает на той же JVM, можно использовать все доступные библиотеки Java. В итоге получается универсальная платформа для дестопов, веба, соток, блю-рей проигрывателей, двд-выигрывателей и всего, где есть JVM (надеюсь, в недалеком будущем)
По синтаксису JavaFX напоминает Java, Actionscript… и почему-то JSON (уж больно похож на него декларативный формат описания объектов)
На JavaFX можно создавать не только красочные цветастые интерактивные апплеты, но и совершенно безобразные и уродливые вещи, кои получились у меня в ходе лабы :D Ну, просто неудобно делать графические вещи без визуального редактора… зато межплатформенно…
Павильон
Ну и на последок, в огромном зале были размещены точки с представительствами самых разных именитых и не очень контор, названия которых я не помню, и возможно даже и не выговорю. Там тоже проводились небольшие семинарчики, демонстрации, розыгрыши и раздача халявы. У стенда JavaFX можно было поиграть в забавные игры на самых различных устройствах (перчатках-манипуляторах, сотках, блю-рейном проигрывателе).
Адоб демонстрировали PixelBender и взаимодествия Flex и BlazeDS с остальными. В другом отделе можно было попробовать установить openSolaris и получить фирменную майку и значок (пионерский подход). А в перерывах можно было поиграться в Quake и постучать на Rockband =D
У стойки Amazon можно было решить небольшую задачку и получить фигурку нинзя-кодера.
//Что делает эта функция?
int ninja_loop (int num ) {
if (num & num-1 == 0) return 0;
for (int arc = 1; (num &= num-1); arc++) {
// ninjas loop differently
}
return arc;
}
// Достоверность не гарантирую, так что можете сильно не париться =))
Среди всех прочих был и стенд некой фирмы, которая занималась защитой ПО и прочего от копирования (DRM и прочие). Возле стенда дежурил пожилой мужичок, который явно скучал от одиночества.
Некоторые пророчат, что эта конференция была последней в связи с недавним приобретением компании Sun конторой Oracle, с чем многие выступавшие там не согласны. Но как бы то ни было, я надеюсь, что в следующем году будет JavaOne 2010 и у меня будет повод написать еще один пост.
P.S.: Удивительно, но больше половины людей на лабах сидели с маками о_О
Еще там были общедоступные терминалы, которые работали по карточкам. Из Sun Virtual Box'a на выбор можно было загружать openSolaris, Ubuntu 9.04 или Windows-7.
Ruby → Ruby is not Rails
Последнее время о Ruby начали думать только как о Ruby on Rails. Но в мире Ruby ещё много красивых и иногда уникальных вещей. Поэтому, в целях борьбы с предрассудками, хочу вкратце рассказать о отличных и необычных Ruby-проектах.
Разработка → Java.next: Общие принципы языков нового поколения
Java.next: Общие принципы языков нового поколения
Это первая часть серии статей насчёт Java.next. В первой части я собираюсь рассмотреть общие принципы, которые разделяют языки Java.next.
Я выбрал четыре языка, которые вместе и назвал «Java.next»: Clojure, Groovy, JRuby, and Scala. На первый взгляд, эти языки совершенно разные. Clojure — это Lisp. Groovy — это «почти Java». JRuby обладает красотой Ruby, и использует мощь Rails. Scala, в отличие от других языков, настаивает на том, что нам нужна статическая типизация.
НЛО прилетело и опубликовало эту надпись здесь.