Вещи не просто черно-белые.По крайней мере, они также большие и маленькие, громкие и тихие, синие и оранжевые, серые и серые, длинные и короткие, правильные и неправильные и т. Д.
Интерпретация / компиляция - это только один из способов классификацииязыки, и он полностью независим от (среди множества других вещей) того, называете ли вы тот же язык "языком сценариев" или нет.В довершение всего, это также неправильная классификация:
- Интерпретация / компиляция зависит от языковой реализации, а не от языка (это не просто теория, на самом деле существует довольно много языков, для которых обасуществуют интерпретаторы и компиляторы)
- Существуют языковые реализации (многие из них, включая большинство реализаций Ruby), которые являются компиляторами, но «только» компилируются в байт-код и интерпретируют этот байт-код.
- Существуют также реализации, которые переключаются между интерпретацией и компиляцией в собственный код (JIT-компиляторы).
Видите ли, реальность - это сложный зверь;) Ruby, как упоминалось выше, часто компилируется.Выходные данные этой компиляции затем интерпретируются, по крайней мере, в некоторых случаях - есть также реализации, которые JIT-компилирует (Rubinius и IIRC JRuby компилируют в байт-код Java через некоторое время).Эталонная реализация была компилятором в течение длительного времени, а IIRC все еще существует.Так Ruby интерпретируется или компилируется?Ни один из терминов не имеет смысла, если вы его не определите;)
Но вернемся к вопросу: «Язык сценариев» также не является свойством языка, он зависит от того, как язык используется, а именно от того, является ли языкиспользуется для задач сценариев.Если вы ищете определение, страница Wikipedia на « языке сценариев » может помочь (только не позволяйте им путать вас с примечаниями о деталях реализации, таких как сценарии, которые обычно интерпретируются).Действительно, есть несколько программ, которые используют Ruby для выполнения задач сценариев, и, несомненно, существует множество автономных Ruby-программ, которые, скорее всего, будут считаться сценариями (очистка веб-страниц, системное администрирование и т. Д.).
Итак да, я думаю, можно назвать Ruby языком сценариев.Конечно, это не означает, что веб-приложение ruby on rails - это просто скрипт.