aprender c++ te dara las bases de conocimiento tanto de bajo nivel como de alto nivel, podras aprender programacion estructurada, programacion orientada a objetos y a nivel de eficiencia java nunca superara a c++.
una vez hayas aprendido c++ podras pasarte a java sin ningun esfuerzo, por lo que te dara una linea de aprendizaje perfecta.
si despues te interesas en el aspecto de la eficiencia podras aprender a usar inline asm para aprovechar las ventajas del SIMD elevando la rapidez de tus codigos y algoritmos a niveles que ni java ni c# se les podria llegar a acercar (por algo los motores graficos mas potentes estan hechos en c++).
la programacion de troyanos, virus, etc siempre sera mas sencillo en c++.
resumiendo : para ciertas cosas (c/c++) + asm siempre sera la combinacion perfecta. para todo lo demas puedes elegir cualquier otro lenguaje de programacion que te abstraiga de los aspectos de bajo nivel.
una vez hayas aprendido c++ podras pasarte a java sin ningun esfuerzo, por lo que te dara una linea de aprendizaje perfecta.
si despues te interesas en el aspecto de la eficiencia podras aprender a usar inline asm para aprovechar las ventajas del SIMD elevando la rapidez de tus codigos y algoritmos a niveles que ni java ni c# se les podria llegar a acercar (por algo los motores graficos mas potentes estan hechos en c++).
la programacion de troyanos, virus, etc siempre sera mas sencillo en c++.
resumiendo : para ciertas cosas (c/c++) + asm siempre sera la combinacion perfecta. para todo lo demas puedes elegir cualquier otro lenguaje de programacion que te abstraiga de los aspectos de bajo nivel.