У меня есть смутное подозрение, что использование одного языка для написания проекта является большим благом. Когда разработчику приходится разбираться в коде на нескольких языках он теряется. Гораздо проще и понятнее работать с идиомами одного языка. И в этом плане мне очень понравилось писать на Clojure. Я верстал страницы и делал серверные обработчики на одном языке. Фронтенд пришлось писать на других языках, но это была моя слабость. Он вообще славится полифонией языков, html, css, javascript и т.д.

Не понимаю почему так произошло, но мне кажется это неправильный путь. Гораздо лучше писать на одном языке. При этом может возникнуть проблема. В разных средах исполнения у языка будет разная семантика, но я думаю как раз это некритично.

Я не хочу использовать Clojure, потому что это язык без статической проверки типов. Мне кажется в большой командной разработке обязательно использовать по крайней мере строго типизированный язык.

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

Опять же таки в Haskell, очень много заумных идей и заумное сообщество, из-за чего программирование на нем превращается в непрерывное увлекательное чтение статей с переднего края разработки языков. Я не знаю к сожалению C и С++, они имеют свою область применения. Мне гораздо ближе Java.

Java слишком многословна, и GWT которым можно было компилировать Java в Javascript провалился. Больно долго он это делал и имел плохую интеграцию с браузерами.

В качестве конкурента Java на мой взгляд выступает только Kotlin, который активно развивается и имеет хорошую поддержку от JetBrains. Это интересный язык, но я пока так и не смог найти очевидные преимущества Kotlin в выразительной силе перед Java.