Если на фронте выбор достаточно большой
э... js, или.. js?))
Есть ли еще нормальные варианты?
nodejs - не нормальный вариант, увы. Да, есть маленькие задачи, для которых он хорош, но не более, увы.
В остальном - все зависит от проекта, чаще всего php / python, у хипстеров ruby, у энтерпрайз решений java, сейчас набирает популярность Go. Есть парни, что Erlang/Scala/Haskell упарываются, но часто это фатальный выбор.