Прикольне порівняння розробки на Java і розробки на Ruby on Rails

Недавно накопав грунтовне порівняння підходів до розробки на Java та RoR. Головна цінність власне не у синтаксичному порівнянн а у всіх проблемах/викликах які супроводжують розробку застосувань під ці платформи. Так як сам брав участь Ñ– у RoR проекті Ñ– у Java проектах дуже давно хотів написати власні враження. Тепер потреби немає так як більш менш погоджуюсь з цими твердженнями. Єдине велике зауваження це то що розробка на Java зразка 2008 це зовсім не то що було на початку століття. Автор довбав Struts/IIS+Tomcat. Зараз різні комбінації Spring MVC + (Ext JS/Dojo) + DWR + Hibernate ложать на лопатки RoR-и. Звичано деплой тайм не Ñ” такий самий, але Jetty це вже майже “ruby script/server”. А двуядерні (багатоядерні) робочі станції зводять тормоза Eclipse/Idea до невідчутного мінімуму.
Для нетерплячих – автор в тому пості зходиться до думки що в кінцевому випадку Java i RoR співставимі по очках, але різні застосування.

Virtual Box 2.0

Вийшла друга версія одного з найкращих безкоштовних емуляторів OS віртуалізаторів – VirtualBox. Головні зміни полягають у кращій підтримці Mac OS X як хост системи, міграція на Qt4 та покращена робота з SATA. Список змін Ñ” на сайті.

Getting Things Done (GTD) в OneNote та Outlook

Мабуть багато з вас використовують на роботі комбінацію Outlook/Exchange. Новий Офіс 2007 в принципі не поганий, але от він не дуже добре “out of box” тримає концепцію GTD. Недавно накопав як організувати GTD подібний робочий процес за допомогою OneNote та Outlook. Ð’ принципі не погано. Трошки не дотягує до GTD для Mac OS X але з другої сторони має багато унаслідуваних від OneNote переваг.

Майже iPhone

Для тих хто не дуже розуміє за що платити шалені кілобакси за не зовсім зрозуміло що. Є варіант. Мобілка нехай Ñ– залишається мобілкою, а от з iPod Touch можна спокійно зробити майже iPhone. Креативу нема меж Ñ– айфоноподібний знадіб (i.e. gadget) за 0.25 кілобакси – зовсім так нічого як конкурент покетам ПіСі.
Оригінально думку з початку висловили на лайф хакерах.

Я так і підозрював!

В наших ощадкассах і держ установах мене дуже сильно ніяковіли текстові програми епохи FoxPro/FoxBase/Clipper. Дуже цікавило як ті данні зводилист до купи в одне ціле щоб хтось з наших дуже змінних керівників держави потім показав(-ла) простенький кольоровий графік того що було, а що є. Ну і уявляв собі що в штатах на тач скрінах в флеші люди самі собі керують власними ресурсами і доступаються до державних сервісів.
Так ось, це все не правда. Не знаю чи це через то що Шварцнеггер там губернатор, чи через пожежі чи через інопланетян, але як виявилось, система яка обраховує зарплати 200,000 держ службовцям штату Каліфорнія написана на COBOL!!! :) :) :)
Так як всякі там Джави і Сішарпи взривають розуми юних талантів кількість людей з COBOL скілами впевнено падає.
Так ось, впало так сильно що хтось може залишитись без зарплати :)
А тепер висновок: від змін не втечеш, закони еволюції тоже діють в ІТ.

12 things I bet you didn’t know about Hibernate

Так як на поточному проекті ми витворяємо з Hibernate всякі убер штучки, мені в руки попав лінк на дійсно цікавий список речей які є в Hibernate але ми про них або мало знаємо або просто не звертали уваги.

Google Collections

Про Apache Commons Collections мабуть чули-використовували всі, а от про таку цікаву штучку як Google Collections мабуть не всі знають. Бібліотека не особливо велика, але тим хто займається прикладним програмуванням після ознайомлення з цією бібліотекою точно на пару класів треба буде писати менше бо вони вже там є. Хороша ввідна стаття міститься на Javalobby.

Axis2 та Spring

Як відомо типовий сценарій використання веб сервісів в Axis2 є або пакування їх в AAR файли та закидування в Axis Server або пакування в Axis2 WAR файл і подальше розгортання на сервлет контейнері.
При інтенсивному використанні Spring Framework в аплікації з цими сценаріями Ñ” серйозна проблема: Axis2 запускає веб сервіси які використовують Spring поверх себе, тобто з використанням ще одного класлоадера. Якщо ви джава ніндзя Ñ– у вас зі збільшенням класлоадерів у проекті не збільшується бажання перейти на якусь іншу мову (наприклад Ruby) то це для вас не проблема. Якщо ви ще не джава ніндзя то хлопаки з WSO забацали Axis2 обгортку поверх Spring. Звучить просто, але насправді робота об’ємиста так як вони по суті знову склали до купи Axis2 але цього разу за допомогою Spring. Що воно дає? Ви далі працюєте з Spring веб аплікацією в поточному класлоадері вашого сервлет контейнера. Невелички приклад можна побачити на їхньому сайті.

Життєвий цикл компанії

Недавно зустрів дуже показову схему розвитку типової компанії. Якщо накласти Ñ—Ñ— на львівську ІТ сім’ÑŽ то можна зразу з ідентифікувати декілька компаній які Ñ” в стадії “founder or family trap”, декілька які Ñ” в стадії “aristocracy” Ñ– навіть одну-дві в стадії “early bureaucracy”.
По цій же схемі можна гарно побачити яких помилок потрібно не допускатись при створенні власного діла Ñ– до чого можуть призвести деякі типові для нашого ІТ явища як наприклад “синдром Засновника”.

Сім раз відміряй один раз відріж

Ð’ мережі гуляють повідомлення про можливе переписування Twitter з Ruby on Rails на щось інше що краще маштабується. Правда – не правда – час покаже, але вже можна вчитись на помилках інших. Ð’ аплікаціях орієнтованих на комунікацію, таких як твіттер, кешування аля memcached не завжди зможе прийти на допомогу так як по своїй суті воно просто не доречне. RoR хоча Ñ– класна річ, але без “напильника” не дуже вдалий варіант так як при виникненні потреби спускатись на “нищий рівень” комунікації, наприклад як у світі джави з Spring Controller на Java Servlet – у RoR щось відлетить, так як все дуже сильно повязано. До того ж Ruby сама по собі повільна мова Ñ– тому ціна “додавання” обчилювальних потужностей для того щоб добавити нових монгрел серверів Ñ” значно вищою чим наприклад для тої самої джави, не рівняючи вже до ветерана PHP.
Тому коли постане вибір мови і технології на якій потрібно буде написати аплікацію треба дуже добре і тверезо обдумати чи вибрана мова/технологія дійсно відповідають і допоможуть справитись з поставленими задачами.
Twitter Under Pressure...