Подтвердить что ты не робот

Каковы реальные проблемы с Ruby?

Ruby - отличный язык. Это быстро и гибко, и напоминает мне много Python, о котором я тоже очень люблю.

Ruby также очень популярен и существует уже несколько лет. Теперь, когда есть какие-то проекты "реального мира" и "рельсы-приложения", мой вопрос таков: в чем проблемы с Ruby? Каковы вещи, которые не делают особенно хорошо? Существуют ли какие-либо другие продукты или технологии, с которыми особенно сложно справляться при интеграции? Прежде чем использовать Ruby для критически важных приложений, какие вещи должны заставить разработчиков делать паузу и проявлять осторожность?

Кроме того, кто-нибудь скомпилировал список (блог-спам или иное) некоторых из основных ошибок разработки Ruby и как смягчить эти риски?

EDIT:

Под "реальным миром" я имею в виду бизнес-мир, в отличие от академического мира, где нет бюджетов и сроков.

4b9b3361

Ответ 2

Ruby не работает быстро. У него есть другие качества, но если ваш процессор является каким-то узким местом (что во многих веб-папках на самом деле не так), Ruby не является подходящим инструментом. Нынешний "стандартный" Ruby даже не компилируется в байт-код (например, Python, например), но вместо этого интерпретирует AST, что, вероятно, замедляет рост на стадионе 20-100. Однако, вероятно, это должно измениться (или, по крайней мере, улучшить) с Ruby 1.9. И JRuby, который основан на JVM, как вы наверняка знаете.

Ответ 3

Если производительность Ruby оставляет желать лучшего в вашем конкретном случае, я рекомендую вам взглянуть на JRuby. Это позволяет вам скомпилировать код Ruby Ruby для JVM-байт-кода в модуле JIT или AOT и предоставляет доступ к Java concurrency добра и отличным серверам приложений.

Ответ 4

Скорость Ruby на самом деле не является главной проблемой. Самая большая проблема заключается в том, что он однопоточный. Макс А. предложение хорошее. JRuby разрешает concurrency.

Ответ 5

Ruby - интерпретируемый язык, поэтому он может быть в 50 раз медленнее исполняемого кода, чем скомпилированные языки Just-In-Time, такие как Java и С# (на основе тестов, которые я видел). Является ли это проблемой, зависит от работы самого сайта, так как большинство сайтов, как правило, ограничены гораздо большей пропускной способностью и временем базы данных, чем по времени процессора.