Когда-то 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 стать лучше в том, что они делают. Этот столь необходимый мост сокращает разрыв между процессом и производительностью, что является долгожданным облегчением для многих разочарованных инженеров.
Источники:
- http://www.developerfusion.com/event/16920/jruby-on-google-app-engine/
- http://www.techrepublic.com/article/jruby-an-introduction/6310735
- http://www.javaworld.com/javaworld/jw-02-2007/jw-02-jruby.html?page=1
- http://www.javaworld.com/javaworld/jw-07-2006/jw-0717-ruby.html
- http://juixe.com/techknow/index.php/2007/05/28/jruby-on-rails-agility-for-the-enterprise/
- http://books.google.com/books?id=-BquZJXkzukC&pg=PR7&lpg=PR7&dq=scenarios+to+use+jruby&source=bl&ots=wT7lHON_tI&sig=69gKzS_XnQ6gI3w97m6AC6hYrYk&hl=en&sa=X&ei=FR17T-2QF6H10gGJ2-y8Bg&ved=0CFAQ6AEwBQ#v=onepage&q = сценарии% 20to% 20use% 20jruby & F = ложь
Алекс Скотт, основатель aMember — подписного программного обеспечения, которое предлагает полную интеграцию WordPress