No tienes que aprender un lenguaje para cada cosa... Si te mueves en los universos Web, tienes que aprender, de todas maneras, CSS, HTML y JavaScript. Incluso puedes usar JavaScript del lado del servidor. Pero ahí puedes usar Perl, Python, Ruby, C o lo que quieras.
Para otras cosas, como programación en teléfonos celulares, las opciones son pocas: Objective-C (iOS) y Java (Android). Pero... también puedes hacer aplicaciones ligeras con JavaScript+HTML+CSS, con lo que agregas otros sistemas (Ubuntu, Firefox OS, etc.).
Para administración de máquinas, tienes que aprender Bash shell y un lenguaje de
scripting (Perl, Python, Ruby...).
Para aplicaciones de escritorio, casi cualquiera te vale. Incluso desde shell, porque existen
wrappers que permiten manejar la UI incluso desde la línea de comandos. Otra cosa es que, además, busques la compatibilidad entre sistemas operativos.
Si necesitas que una aplicación se ejecute en varios sistemas operativos distintos, pues la opción suele ser Java o cualquiera de los lenguajes de
scripting.
Si, en cambio, necesitas programar los movimientos de un ascensor, mejor usar
ensamblador para PIC. Y así,
2500 lenguajes más.
De resultas de todo esto, ya vemos cuál es el lenguaje más importante de nuestros tiempos: JavaScript (frase dicha por el creador de Perl, Larry Wall).
Además... cuando aprendes un lenguaje, aprender el siguiente es más fácil. Y cuando vas a aprender el tercero, aún más fácil todavía (los lenguajes se parecen mucho entre sí, ya que todos tienen
raíces comunes).
P.D.: Es obvio que en mis comentarios no aluda a lenguajes propietarios, como F#, C#, Go, ActionScript... o tecnologías como .Net, porque solo funcionan en determinadas plataformas, algo que no es deseable.