Без наезда, правда интересно. Я пишу на Go и Python, и для утилит командной строки Go для меня вне конкуренции: собрал один бинарник, закинул на сервер, и всё работает, никаких rbenv, Bundler и версий интерпретатора. Видел тут несколько тем про CLI на Thor и свои gem'ы. Что вас держит на Ruby именно в утилитах, а не в вебе?
Держит скорость написания и то, что такие утилиты обычно живут там, где Ruby уже есть: на машинах разработчиков и в CI проектов на Rails. Генератор отчёта, который на Ruby пишется за вечер, на Go у меня занял бы два: в Ruby CSV, JSON, YAML и ERB под рукой, а Enumerable делает половину работы. Где Ruby на машине нет и не будет, тут ты прав, бинарник удобнее. Есть способы упаковать Ruby вместе с приложением в один файл, я пробовал, но это отдельные приключения, советовать не возьмусь.
Раз уж спорим, вот цифры с моей машины. Старт пустого ruby -e nil на 3.4 около 45 мс, с -rthor около 70 мс, бинарник на Go 2-3 мс. Утилиту, которую человек запускает руками, разницы никто не заметит. Если её вызывают в цикле 10 тысяч раз из шелла, Go выиграет с огромным отрывом, но такое и на Ruby никто не пишет, такое делается одним процессом.
мне в ruby нравится, что можно открыть irb и гонять куски утилиты прямо руками, пока пишешь
В Python проблема «какая версия интерпретатора на сервере» ровно та же, и все как-то живут через Docker или venv. С Ruby то же самое: rbenv плюс Gemfile.lock, и через год скрипт запускается так же, как в день написания.
Ладно, про irb и Enumerable понял, набросать отчёт за вечер на Ruby и правда быстрее. Цифры по старту честные, 70 мс я переживу. Но бинарник на сервер без всего остального всё равно люблю больше, тут не переубедите.