Статьи

Переход с Java на Ruby и далее

Когда-то Java — возможно, «Динозавр» мира программирования — была доминирующей силой в программировании. Человек должен был приблизиться
разработка программного обеспечения и веб-страниц с умом инженера и способностью мыслить сложными, но высокоорганизованными способами. В конце концов, будет
много кода для сортировки. Тем не менее стали появляться языки более высокого уровня, такие как C, C ++, Python, Perl и Ruby. Эти динамичные новые языки угрожали старым
авангард и помог новым программистам — которые хотели ярлык и не хотели беспокоиться со всем этим неуклюжим, неуклюжим кодом — войти в игру. Конечно, всегда будут высказываться критические замечания по поводу того, что «есть ошибки» или «это слишком медленно», но люди, которые попадают в замешательство JRuby, обнаружат, что это действительно повышает производительность и освобождает их от проблем более низкого уровня стоимости или функциональности для клиенты.   

Почему пользователям Java нравится JRuby

Ruby очень хорошо работает с Java, благодаря помощи интерпретатора JRuby.

Многие пользователи Java говорят, что изучение Ruby помогло упростить, очистить и всесторонне улучшить их Java-код. Функциональное программирование и метапрограммирование намного проще осуществить с помощью языка Ruby.

Динамическая типизация значительно упрощает определенные задачи для программистов на Java.

Как и Ruby, JRuby использует динамическую типизацию. В Java нужно объявить тип каждой переменной. Неправильные переменные приведут к появлению сообщения об ошибке «Нет такой ошибки метода» и «Исключение целевого объекта вызова», которое может быть раздражающим и занимать больше времени при сортировке. С другой стороны, Ruby не столько заботится о классе объекта или других переменных, сколько о методе. Ruby устраняет необходимость страдать от подробного кода и объявлять все вручную. Ruby автоматически расширяет целые числа по мере необходимости, тем самым освобождая время и хлопоты. Конечно, Java всегда будет по умолчанию для крупномасштабных проектов, поскольку существует гораздо больше инструментов Java для расшифровки кода во время разработки.  


Интерпретированный язык облегчает получение отзывов и устранение ошибок на местах.

Java-программисты знают, что анализ кода, вызвавшего ошибку поля, может быть кошмаром. Иногда совершенно невозможно определить точную версию сборки приложения и посмотреть код. Тем не менее, с Ruby и JRuby существует быстрая интерактивная обратная связь по каждой строке, поскольку она набирается, а исходные коды сразу же доступны для анализа, что позволяет мгновенно исправлять проблемы по мере возникновения. Интерпретированные языки рассматриваются как медленные по сравнению с Java, но в долгосрочной перспективе отставание производительности для большинства функций незначительно.      


Ruby тихо добавляет функции к объектному классу и легко поддерживает несколько парадигм программирования.

Ruby и JRuby хорошо работают с другими типами языков программирования, что значительно упрощает сотрудничество между разработчиками и приложениями, написанными в различных кодах. Этот тип функционального программирования идеально подходит для упаковки блоков кода с инструкциями до и после, без определения методов или анонимных классов. Ruby и JRuby чаще всего используются пользователями Java для склеивания различных систем.

Почему пользователям Ruby нравится JRuby

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


JRuby привносит дополнительные возможности Java в упрощенный мир Ruby.

В то время как Ruby ускорил и упростил разработку веб-приложений, он всегда немного страдал с точки зрения мощных корпоративных возможностей при работе над крупномасштабными проектами. Обширный мир виртуальных машин, серверов приложений, библиотек и серверной поддержки Java делает его ведущей платформой для серверных приложений высокого уровня. Однако JRuby разрешает доступ ко многим из этих библиотек и систем поддержки. JRuby может интегрироваться с кодом Java, что позволяет пользователям Ruby работать с сценариями Java без написания кода Java. Пользователи JRuby могут пользоваться всеми преимуществами потрясающих сборщиков мусора, библиотек и оптимизаций JVM.  


JRuby быстрее и лучше для масштабирования.

JRuby Creator Чарльз Наттер (Charles Nutter) сказал, что преимущества JRuby по сравнению с Ruby включают «лучшее масштабирование, которое будет быстрее, поддержку нативного юникода, библиотеки Java, простоту внедрения в корпоративной среде и существующих приложениях». По сравнению с Ruby улучшено управление памятью параллельно -Рунинг родных потоков и улучшенная производительность. Это особенно хорошо при расширении до облачных вычислений: разработчики могут быть уверены, что их приложения будут «просто работать» в этой новой среде.  


JRuby хорошо заполняет пробел между Java и Ruby.

Теперь пользователи Ruby могут развертывать приложения Ruby на контейнерах сервлетов Java и серверах приложений EE, таких как JBoss, Tomcat и Glassfish. Они могут интегрировать приложения Ruby с кроссплатформенными технологиями Java, такими как Spring, JMS, JMX, JPA, Hibernate, Swing, SWT и Java 2D. Они могут использовать инструменты на основе Java, такие как Ant и Maven, а также передовые инструменты Ruby, такие как Rake, Raven и Buildr, для гибкого тестирования и оптимизации. Короче говоря, JRuby строит мост между Java и Ruby.

Суть:

JRuby не идеален. Это немного медленный запуск, и многие люди предпочитают использовать Java для крупных корпоративных проектов, но это помогает и Java-кодерам, и программистам Ruby стать лучше в том, что они делают. Этот столь необходимый мост сокращает разрыв между процессом и производительностью, что является долгожданным облегчением для многих разочарованных инженеров.

Источники:

Алекс Скотт, основатель aMember — подписного программного обеспечения, которое предлагает полную интеграцию WordPress