Semántica confusa
Es un problema de semántica. Cuando alguien dice que es un desarrollador front-end o Java front end, generalmente está hablando de la persona que sabe mucho sobre los lenguajes de plantillas y quizás marcos que nunca deberían usarse nunca más como los formularios web que se usaron para tratar de ocultar el tirar cosas sobre un muro http (es decir, "desarrollo web") por parte de desarrolladores de aplicaciones que no quisieron o al menos se supuso que no querían aprender sobre toda esa basura. En el caso de .NET y Java mixtos, no estoy seguro, pero solo podría suponer que, en el sentido MVC de las cosas, tienen a Java actuando para todas las cosas del modelo de negocio y .NET manejando todo lo demás que se describiría mejor como "nivel medio" pero sigue siendo todo del lado del servidor.
La separación real es lo que sucede en el servidor y lo que sucede en el cliente o el navegador. Puede combinar fácilmente la creación del HTML que se enviará o la representación del front-end con "desarrollo de front-end", por lo que prefiero evitar confusiones utilizando los términos cliente y servidor en lugar de front y back-end cuando analice lo que normalmente hago, (generalmente trabajo del lado del cliente).
Idiomas del lado del cliente
La razón por la que usamos el mismo conjunto de idiomas en el navegador es porque el navegador está en el extremo receptor y, en su mayor parte (ha habido una resistencia mayoritaria de Microsoft y Adobe en esto), nadie quiere enviar tres diferentes versiones del mismo lado del cliente para satisfacer a cada cliente potencial o requerir que se instale un complemento propietario para que la web funcione. Además, los tres idiomas realmente encapsulan las preocupaciones del lado del cliente bastante bien, lo que nos permite construir y modificar rápidamente los front-end de la aplicación web manteniendo un acoplamiento flexible entre la estructura del documento, cómo se ve todo y cómo se comporta todo. Puede cambiar uno sin cambiar los otros dos con bastante facilidad.
Idiomas del lado del servidor
La razón por la que tiene miles de millones de opciones en la web del lado del servidor, por supuesto, es porque puede hacerlo. Es tu servidor. Todo lo que tiene que hacer es comunicarse a través de http / ssl y el resto depende de usted. Por cierto, JavaScript es ahora una opción, pero eso plantea una pregunta interesante. Si aún trata una aplicación web como si realmente fueran dos aplicaciones a cada lado de ese muro HTTP. Soy de la opinión informada a través del dolor de que sí, sí deberías y me encanta Node.js.