Yo empecé con C, luego con C++ (aparte de los lenguajes menos comunes que te enseñan en la facultad: Scheme, CLIPS, Prolog, Flex, yacc...) y ahora estoy con Python haciendo el proyecto.
Sé que debería aprender Java si quiero vivir de esto algún día, pero me da mucha pereza xDD
Es importante aprender algoritmia antes, pero puede ser muy muy desalentador no ver un resultado inmediato de lo que estás haciendo, especialmente si eres autodidacta. Puedes ir aprendiendo ambas cosas a la vez.
Aprende qué es un programa, lo típico de algoritmos + estructuras blablabla Y a la vez puedes, por ejemplo, entender qué es un compilador / intérprete (muy muy por encima)
Aprendes lo que son variables, bucles y condiciones y luego te miras la sintaxis del lenguaje en cuestión para probarlo.
Y así hasta que te aburras xd