Si quiero aprender solo un lenguaje de programación y otro para desarrollo web, ¿cuál debo elegir?

Javascript ! Eso es una obviedad.

Este es el por qué
Puedes hacer aplicaciones web de extremo a extremo con Javascript.

Backend : hay un controlador MySQL de Javascript.
Middleware : ¡puede codificar toda su lógica de negocios y presentación del servidor (API y representación de páginas) en Javascript! Eche un vistazo a Node.js y io.js. ¡Incluso puede ejecutar su lógica de negocios en una infraestructura Java ya probada y probada! Echa un vistazo a Nashorn. En Nashorn, incluso puedes hacer cosas geniales como llamar directamente clases de Java, extender clases de Java, implementar interfaces y otras cosas increíbles. ¡Piensa en cuántas bibliotecas de Java están ahí afuera esperando ser conectadas por el próximo ninja de Javascript en el que te convertirás!
Frontend : puede hacer aplicaciones web basadas en navegador en Javascript (eche un vistazo a ember.js, jQuery, Angular.js, Backbone.js, etc.). También puede manejar aplicaciones móviles basadas en HTML5 con Javascript (eche un vistazo a Cordova / PhoneGap). Muchas plataformas móviles ahora admiten el desarrollo HTML / JS (Windows 8, BB10, Firefox OS, etc.)

Ahora puede incluso realizar algoritmos competitivos de programación con Javascript (consulte HackerRank, Codility, etc.).

Los ancianos dicen que ” todo lo que se puede hacer con Javascript eventualmente se hará con Javascript” .

NB: Personalmente no me gusta Javascript!

EDITAR:
Debería echar un vistazo a Undertow.js – Uso de JavaScript del lado del servidor con WildFly

Refs:
Oracle Nashorn: un motor de JavaScript de próxima generación para la JVM
Documentación API Apache Cordova

TL; DR : si desea aprender solo un idioma de verdad, entonces debería dejar de lado cualquier idea sobre el desarrollo web

Dicho esto, suponiendo que te refieras a algo así como “solo un lenguaje de programación para el primer período en el que trabajo como desarrollador”, entonces estoy de acuerdo con Sayo Oladeji: definitivamente iré a javascript (y posiblemente a jQuery), ya que básicamente te permitirá todo lo que necesita (quizás no de la mejor manera, está bien, pero estamos hablando de cosas para empezar, ¿no?).

Además de los lenguajes de programación correctamente llamados, por supuesto, debe estar al menos entre cómodo y competente con los lenguajes de marcado (a saber: HTML + CSS ).

Solo recuerda que como profesional NUNCA debes ponerle un techo a lo que aprenderás; solo piensa en programar y gestionar tu sed de conocimiento 🙂

Edición: leí sus preguntas a Sayo y, si se refería a aprender dos idiomas diferentes (es decir, “uno para la programación” significaba “uno para la programación de proyectos no web”), definitivamente elija Python : el más fácil de aprender, propósito general y alto nivel lo suficiente para que te concentres en aprender realmente cómo codificar (y pensar como un programador) haciendo el trabajo pesado por ti.

Como alguien me preguntó en privado sobre eso, en caso de que confíes en mí lo suficiente como para obtener algún consejo para tus primeros pasos, empezaría como lo comenté aquí 🙂

Lo primero que debes recordar es: NO TE PAPAS. Una vez que aprende bien un idioma, aprender otros se vuelve más fácil (no necesariamente trivial, pero definitivamente más fácil). Los empleadores también lo saben.

Si quieres una comunidad vocal extremadamente poblada, ve con Ruby on Rails. Si quieres (en mi opinión) la mayoría de los mejores programadores (más expertos), ve con Python O Ruby sin Ruby on Rails (Sinatra). Más simple es mejor, que es una lección que todos necesitan recordar constantemente.

Realmente piensas en tu lenguaje de programación [0], en lugar de “código” en él. Por lo tanto, la elección que haga dependerá de cómo piense y qué idioma le resulte más cómodo. Por ejemplo, hay numerosos programadores de JavaScript excelentes, pero son como diamantes en bruto.

[0] Errores en tus programas