Брайан Майер из Distelli опубликовал любопытную статью «Using Lua for Our Most Critical Production Code». В статье расхваливается переход с одной технологии на другую и то, как это помогло решить кучу проблем. При этом совсем не упоминается, с какими проблемами при этом столкнулись, и совсем нет анализа, какие проблемы могут возникнуть в будущем.

По большому счёту, смена технологии проекта в его середине — обычно очень плохая идея. Программистов надо вытащить из области, в которой они разбираются, в совершенно незнакомое окружение. Не могу сказать, что это всегда негативно сказывается на команде, но такие риски надо просчитывать. Если человека нанимали за его экспертные знания в Python, будет ли он счастлив писать на Lua?

Вторая опасность, которую я вижу, — опасность технологическая. Какие подводные камни есть у новой технологии? Хорошо, удалось решить одну проблему в одной области — а как насчёт работоспособности технологии в других областях? Каковы границы её применимости? Покрываются ли все задачи, стоящие перед проектом? Чтобы ответить на эти вопросы, нужен эксперт в новой технологии. А обычно такого эксперта внутри команды нет. Его нужно либо приглашать со стороны, либо команде принимать на себя всю тяжесть возможных проблем.

Не всегда добавление новой технологии в проект или её смена — это плохо. Иногда текущая не справляется с задачами проекта. Но обязательно смена должна быть хорошо обоснована — с привлечением людей, которые используют предложенную технологию в продакшене.