InfoWorld, США

Динамические языки конкурируют с Java

Динамические языки, такие как Ruby, создают все большую конкуренцию Java в области разработки Web-приложений. Однако, как считают участники симпозиума TheServerSide Java Symposium, и язык Java можно усовершенствовать и расширить функциональность виртуальной машины Java Virtual Machine таким образом, чтобы она поддерживала динамические языки.

Участники семинара «Будущее Enterprise Java» отметили ограничения Java, связанные с  использованием его на интерфейсном уровне Web, и высказали сомнения в перспективности технологии сохраняемости объектов Enterprise JavaBeans (EJB). По их мнению, более эффективная разработка на уровне Web критически важна для концепции Web 2.0, в рамках которой Сеть и браузер в большей степени становятся платформой приложений.

«На мой взгляд, что при реализации небольших решений на Java проявляются серьезные недостатки этой платформы», — считает Брюс Тейт, независимый консультант, специализирующийся на вопросах упрощенной разработки на Java и Ruby.

Более эффективная разработка на уровне Web критически важна для концепции Web 2.0, в рамках которой Сеть и браузер в большей степени становятся платформой приложений

«Ruby on Rails — быстрая и прозрачная платформа, что и определило ее успех», — подчеркнул Тейт. Он выразил надежду на дальнейшее упрощение Java, отметив сложность этого языка как серьезный недостаток. Рассказывая о Ruby, Тейт подтвердил, что он участвует в проекте JRuby, цель которого — создание интерпретатора Ruby на Java.

Тейт предложил реализовать в JVM поддержку динамических языков.

«Благодаря этому мы сможем использовать динамические языки, которые более производительны», — отметил он. К Enterprise Java у Тейта претензий нет.

Участник конференции Ари Зилка, директор компании Terracotta, сказал, что JVM необходимо изменить таким образом, чтобы она поддерживала приложения начального уровня, рассчитанные на индивидуальных пользователей или рабочие группы.

«Сейчас такой поддержки Java явно недостает, но, как мне кажется, этот недостаток будет восполнен сообществом, людьми, сидящими здесь», — заявил Зилка, имея в виду участников симпозиума.

Флойд Маринеску, основатель сообщества TheServerSide, более оптимистично оценивает перспективы и Ruby, и Java.

«Ruby on Rails — весьма многообещающее решение, — сказал он. — В сообществе Java появятся желающие реализовать аналогичные возможности».

«Меня поражает, насколько популярным стал Ruby», — заметил Брюс Снайдер, один из инициаторов проекта Apache Geronimo. По его мнению, Ruby полезен для создания приложений младшего класса, однако в нем по-прежнему ощущается серьезная нехватка возможностей корпоративного уровня.

Однако Тейт ответил на это, что Java тоже был далеко не совершенен, когда только появился.

«Я думаю, что все эти языки могут существовать параллельно, но конкуренция со стороны языков, предназначенных для создания скриптов, становится все сильнее и рост их популярности в первую очередь объясняется их простотой», — заметил он. Тем не менее, по его словам, такие языки будут благотворно влиять на Java.

По мнению Маринеску, J2EE слишком сложен для Web-разработки, но и Ruby тоже далек от идеала. Он предлагает интегрировать эти технологии. Кроме того, он считает, что Web 2.0 приобретает большую значимость по мере того, как Internet превращается из платформы публикаций в платформу приложений.

Снайдер уверен, что с появлением Web 2.0 потребность в более простых средствах разработки только возрастет.

«Разработка должна стать проще за счет унификации технологий сервис-ориентированной архитектуры и использования Web 2.0», — считает он.

Тем не менее участники симпозиума не поддержали технологию EJB.

«Я надеюсь, что появится новое поколение средств, предназначенных для разработки упрощенных приложений и использования Web 2.0», — сказал Снайдер.

Род Джонсон, основатель Spring Framework, не доволен всем уровнем Web-технологий в целом.

«Они совершенно никуда не годятся», — заметил он. По словам Джонсона, повсеместно используются тривиальные универсальные клиенты, которые поддерживают только HTML, и в нем отсутствуют возможности эффективного использования браузера.

«Самое неприятное заключается в том, что попытки исправить это положение предпринимает только Microsoft», — считает Джонсон.

Кроме того, во время дискуссии Джонсон затронул вопрос об аспектно-ориентированном программировании.

«AOP меняет структуру рынка серверов приложений и само определение таких серверов», — сказал он.

Снайдер отметил необходимость в инструментальных средствах, служащих для организации сервисов.

«Такого инструментария сейчас крайне мало. Никто не хочет сидеть и писать функциональность BPEL (Business Process Execution Language for Web Services) вручную», — подчеркнул он.