Я бы сказал, да, но у меня другая точка зрения, чем у парня из Java-среды, потому что я парень из .NET-среды. Я написал и поддерживал нетривиальный сценарий сборки (чистый, информация о генерации сборки, сборка, тестирование, покрытие, анализ, пакет) в msbuild (усилие MS-NAnt, управляемое XML), и это было очень больно:
- XML не дружелюбен; очень шумно
- Никто в команде не был заинтересован в том, чтобы научить его тому, как выполнять больше и более полезных автоматизаций; такой высокий коэффициент шины (т. е. если меня сбивает автобус, они застряли с ним)
- Это не поддается рефакторингу или улучшению - это была одна из тех вещей, которые касаются вашей опасности, вы знаете?
- Требовалось написать собственные задачи на C # для запуска различных инструментов, необходимых для сборки (хотя, если честно, часто они написаны производителями)
Примерно за неделю рабочей недели (я полюбил пустые офисы на Рождество!) Я выучил достаточно ruby + rake, чтобы заменить все это более коротким (с точки зрения LOC) сценарием на слегка больше функциональности и понятности (во всяком случае, я надеюсь, еще не рассмотрел).
Это выгодно от:
- Это новый язык, но настоящий язык. Моим товарищам по команде нравится изучать новые языки, и это, хотя и является тонким оправданием, все еще оправдание ;-) Это может смягчить фактор, если я прав.
- Это короткий переход (я так понял) отсюда до Capistrano, инструмента автоматического / удаленного / распределенного развертывания из мира RoR. Несмотря на то, что это магазин MS-stack, мы собираемся использовать его в сочетании с IIS7, наконец, с инструментом конфигурирования CLI.
Итак, да. Ваш пробег может отличаться, но он того стоил для меня.