Mae si, c++ es muy complicado de hecho, en especial porque uno es el que se encarga del manejo de la memoria.
Sobre java si tiene futuro, lo que pasa es que mucha gente está acostumbrada a la sencillez del uso de microsoft, pero para aplicaciones web se usan muchas cosas que java maneja de manera aceptable, desde servlets hasta java scripts (le diría mas pero no he trabajado mucho en java). El problema es que efectivamente es muy lento (dependiendo obviamente del equipo) pues utiliza una máquina virtual que es una capa intermedia para traducir lo que usted programo al tipo de arquitectura que está utilizando (lo que lo hace portable para windows, linux, etc). Pero este también es un problema que tiene .net pues el framework tiene una política similar.
Igual, si lo que quiere es aprender, el lenguaje no importa tanto, por eso digo yo que podría empezar con c#, pues lo más importante es que se familiarice con el manejo de estructuras como listas, árboles, grafos. Para esto ocupa entender bien los tipos de ciclos y condiciones (if, while, for) y los tipos de datos con que puede trabajar (string, integer). Y en esto c# le puede ayudar pues no se tiene que preocupar del manejo de la memoria, que es de las cosas más tediosas que hay.
De ahí, puede estudiar conexión con bases de datos y desarrollo de estas (aunque sea a nivel muy básico) y si aprende bien estas cosas, después cambiarse de lenguajes no cuesta tanto.
Yo le recomendaría que empezara estudiando un poco sobre programación orientada objetos y traté con algunos ejemplos básicos. Puede conseguirse alguno de los libros de deitel en internet sobre el tema. Luego podría tratar de hacer sus propias listas (simplemente enlazada, doblemente enlazada, circular, etc) para entender como funcionan y agarrar práctica. Luego hacer problemas de búsqueda (búsqueda binaria por ejemplo).
Sobre animación, creo que lo más cercano sería la carrera que dan en la veritas, pero no conozco de ninguna universidad que en estos momentos de cursos sobre maya o cualquier otro programa o api para trabajar en 3d y desarrollar juegos. De hecho yo entre a estudiar a la ucr esperando aprender sobre esto, pero al final depende de uno combinar las diferentes herramientas que aprende en los cursos de programación, ingenieria de software y bases de datos para hacer las aplicaciones que uno ocupa o quiere desarrollar.