esa es mi pregunta, resulta que e investigado mucho, pero aun no me pongo de acuerdo en cual lenguaje especializarme, si en Java, C++ o C#, por lo que he leeido es que existe mucha demanda de C# en americalatina y claro yo soy de america latina, pero C++ respecto al ranking de lenguajes mas usados esta en 3er o 2do lugar de los mas usados, ademas de que encaja mucho en el mundo opensource, el cual me llama mucho la atencion y a futuro quisiera desarrollar un proyecto opensource, ademas de que C++ no necesita que algun interpete este instalado en el sistema para poder funcionar, cosa que pasa en Java y C#
Aprender C++ a nivel educativo es excelente. Vas a aprender muchisimo de programación y partiendo de ahi, cualquier lenguaje va a ser mas sencillo.
A pesar de la incipiente demanda de servicios web y procesamiento en la nube, todavia necesitamos de aplicaciones que tengan un gran rendimiento en nuestro hardware. C++ provee las herramientas necesarias para eso, por lo tanto es muy usado y dificilmente reemplazable.
No obstante, la salida laboral no es tan sencilla. Trabajar con C++ para una empresa requiere experiencia previa, la curva de aprendizaje es mas agresiva y te puedes llevar grandes golpes con el.
Querer dedicarte a proyectos de código abierto es una buena razón para especializarte en C++, pero hay otros factores.
Lo de los interpretes, siempre lo digo, es muy relativo. Hoy por hoy las maquinas tienen instalado el framework .NET y la VM de Java, de hecho seria raro que alguno falte.
igual esta Java un lenguaje que supuestamente es el mas popular actualmente pero se pide menos en america latina, mas en Europa y EU, ademas de que se puede acoplar a los sitios webs corriendo como lenguaje del lado del servidor y por si fuera poco es idoneo para los dispositivos celulares, pero e leeido que C# igual funciona en celulares y C++ mediante el CGI puede hacer lo mismo que Java en la Web, por eso no se cual seria mejor :S
Ni de broma se pueden hacer las mismas cosas mediante CGI con C++ que utilizando Java a nivel web. Java tiene infinidad de herramientas y frameworks que luego de que los uses un tiempo vas a tener pocas ganas de probar otra cosa. Los que hayan utilizado Spring y Hibernate en proyectos grandes sabrán darme la razón que el trabajo tedioso que uno se ahorra es inmenso, sin contar el pequeño detalle que el buen manejo de estos frameworks junto con Struts y/o JSF se esta pagando muy bien en casi cualquier país que tenga un mercado activo de Java.
En lo personal, yo soy un fanático de C++, es el lenguaje que mas me gusta y con el que mas trabajo, pero estaría mal no decirte que no es fácil conseguir trabajo de C++. Mientras que con Java, en 3 o 4 meses, tendrías ya la experiencia básica como para poder encarar una entrevista laboral como junior e ir ascendiendo y mejorando (en un ambiente laboral aprendes en 1 mes lo que no aprendiste en 1 año).
Por lo menos en Argentina y en Estados Unidos, que son los mercados que mas conozco, hay mucha demanda de Java a nivel web y en Android, con buena paga sobre todo en lo que respecta a Android.
Mi recomendación por si no quedo claro, es Java. Por supuesto es solo en base a mi experiencia personal y no es ninguna verdad absoluta. Mucha gente podría argumentar ventajas similares en cualquier lenguaje de la plataforma .NET y no estaría mal, pero en lo personal optaría por Java.
Saludos.
PD: Hoy he tenido que borrar varios posts. No me gustan las discusiones sin sentido en las secciones que modero así que me harían un favor gigante si resuelven diferencias personales en privado. Gracias!