Я верю, что когда есть только один вариант, это определенно приведет к стагнации инноваций. Если бы у нас был только один язык, мы бы не смогли ничего решить, кроме того, для чего предназначен этот язык.
Императивные языки, такие как Java и C #, решают определенные проблемы довольно хорошо, но иногда это помогает мыслить функционально, например, на Haskell и Lisp.
Кроме того, кросс-платформенные проблемы не являются проблемой, если вы говорите о веб-приложении, потому что вы контролируете аппаратное и программное обеспечение (обратите внимание, я говорю о коде на стороне сервера, конечно, кросс-платформенная проблема браузера является отдельной) .
Пол Грэм написал замечательное эссе о том, как Интернет позволяет вам как разработчику использовать инструмент, который, по вашему мнению, решит проблему наилучшим образом.