Tienes toda la razón. Usar el mismo lenguaje en ambos extremos es una ventaja exagerada.
El hecho es que la mayoría de los desarrolladores son políglotas. No tienen problemas para usar dos idiomas diferentes para un proyecto. Se adhieren a la máxima clásica: “Elija siempre la mejor herramienta para el trabajo”. En el servidor, JavaScript NUNCA es la mejor herramienta porque hay muchos otros lenguajes superiores disponibles, como Java, C #, Python, Ruby, Go, Groovy, Scala, Clojure, etc.
El mundo de TI ha estado haciendo aplicaciones de arquitectura cliente / servidor durante décadas utilizando diferentes idiomas para cliente y servidor. ¿Por qué esto es repentinamente un problema en 2016?
- ¿Qué es AWS CloudFront?
- ¿Qué tipo de experiencias ha tenido contratando desarrolladores web en Freelancer.com?
- Cómo hacer mi propio marco front-end
- ¿Qué plataforma de blogs es fácil de integrar en un sitio web existente?
- En cinco años, ¿qué idioma es más prominente: Node.js, Python o Ruby? ¿Por qué?
Incluso en el cliente, JavaScript no es la mejor herramienta para el trabajo. Es la ÚNICA herramienta para el trabajo en virtud del hecho de que JavaScript es el ÚNICO lenguaje integrado en todos los navegadores web. Los desarrolladores no tienen otra opción. Si tuvieran una opción, ¡seguro que no elegirían JavaScript!
Entonces no, no es una ventaja real sino una imaginada. Todo programador que valga la pena puede usar fácilmente más de un idioma. Cualquiera que te hable sobre el “cambio de contexto mental” está lleno de eso.