Часто упоминается, что RoR и подобные платформы, основанные на динамических языках, являются более производительными средами, но мне действительно интересно знать, есть ли надежные данные, подтверждающие это. Это будет нелегко, так как нужно быть уверенным, что она не сравнивает яблоки с апельсинами. Такие вещи, как тип проекта (web 2.0, корпоративное приложение) и размер команды должны быть приняты во внимание. Однако для небольших проектов более чем очевидно, что такие интегрированные среды действительно намного более продуктивны, чем Java EE. Итак, это короткий список аргументов, используемых для поддержки этого, и того, что вы можете сделать для них в мире Java.
Ruby - более понятный и лаконичный язык. Вы можете сделать то же самое с гораздо меньшим количеством кода.
Я не думаю, что вы можете иметь то же самое в Java, если, конечно, вы не используете динамический язык, который работает в JVM (JRuby, Scala, Groovy). В противном случае ваша IDE может помочь. В Jave IDE является важным инструментом, и он окупит вас, если вы научитесь правильно его использовать (генерация кода, фрагменты кода, рефакторинг). На самом деле есть много вещей, которые вы можете сделать с помощью Java IDE, которые просто невозможно сделать с Ruby или Python IDE. Плюс у вас есть преимущества статического типизированного языка. Печатание может занять больше времени, но это поможет вам избежать распространенных ошибок.
Руби гораздо веселее в использовании. Делает разработчика счастливее и продуктивнее.
То же, что и выше. Хотя, на мой взгляд, весьма субъективный аргумент.
Соглашение о конфигурации делает вещи быстрее
Может помочь инфраструктура внедрения зависимостей, такая как Spring или Guice
Леса, MVC уже там для вас.
Опять же могут помочь фреймворки Java MVC
Базы данных легко. Загружать элементы базы данных как объекты. Можно изменить базу данных на лету.
Может помочь Hibernate, iBatis или другая платформа ORM. С Hibernate Tools вы можете добиться аналогичной функциональности с тем, что есть в RoR с файлами yml
Мгновенная загрузка новых модулей
Maven или Ant Ivy могут помочь
Простое развертывание для тестирования
Ваша IDE или Jetty могут помочь. На самом деле отладка проще с Java
Тестирование интегрировано с фреймворком. Использование макетов облегчает тестирование
Среда внедрения зависимостей может помочь с фиктивными объектами. JUnit был пионером модульных структур. Я не думаю, что Java труднее тестировать.