Podés aprender cualquiera, la diferencia con los lenguajes es su sintáxis (las palabras para hacer cada cosa), los algoritmos (la idea) son los mismos.
Cierto...
Cuando escuches: "Los programas y sistemas operativos se hicieron con C", ja , si, es verdad
, pero no te desiluciones cuando te des cuenta que C, C++, pascal, etc son en modo consola (como el DOS). para hacer ventanas y gráficos hay que usar unas librerías externas.
ERROR GRANDE! C, C++, etc--- no son de modo consola... eso no existe... Son lenguajes que proveen una libreria estandar minima... De manera que tenes implementadas algunas funciones para tratar con el SO, y con recursos basicos como IO... La gestion de una interfaz grafica ya no es un recurso basico y se espera que uno tenga acceso a esto mediante el API del Sistema Operativo o alguna librería que la abstraiga...
Los SO y drivers se estila programarlos en lenguajes que tengan acceso a los recursos de bajo nivel... C y C++ por ejemplo te permiten meter lineas de assembly en el medio del codigo...
Otros, por ejemplo python, tienen una filosofia de "batteries included"... Tienen una libreria estandar MUY GRANDE... con clases y funciones para muchas cosas... ( leer xml, threads, sockets, servidores de XML-RPC... etc )
Si querés aprender viendo las ventanitas tenés que usar alguno de la gama Visual, como VisualC++, Visual Basic, (ambos de microsoft) u otro como delphi. En esos, ves lo que creas en el momento, pero igual tenés que leer, leer y leer.
Las Microsoft Fundation Classes de Visual C++ son horribles... y por mucho que veas, son un asco en comparacion con QT por ejemplo... (excepto CString y CSocket que les tome cariño)...
VisualC++ es C++... el Visual de adelante es el nombre del IDE... no era de "modo consola"?.... Ademas, aprender C++ a la par de las MFC tiene que ser muy dificil por no decir imposible...
Es cierto que en VB y VC# es facil armar interfaces graficas, pero tambien con QT (C++) sin necesitar tantos conocimientos de C++....
C#.net y VB.net tienen toda el API de .net por detras... y estoy casi seguro q no son estandar del lenguaje en si...
Al fin y al cabo, tendrías que elegirlo de acuerdo a tu interés, digamos, de acuerdo a que tipo de programas o aplicaciones que quieras hacer. Por lo pronto podrías leer algún manual de algoritmos (si es que ya no lo hiciste) para cazar una idea del total. Es el corazón de la programación, luego, el lenguaje.
Nada mas aburrido que aprender con un libro de algoritmos sin saber programar en ningun lenguaje...
Lo lindo es ir llevando a los 2 a la par... ir aprendiendo un lenguaje y alguna libreria e ir leyendo un libro de algoritmos...
Y volviendo al tema principal, yo recomendaria C++ y Python.... Si tu idea es seguir una carrera como Licenciado en ciencias de la computacion o Ingeniero en informatica, aprenderia C++ y despues Python...
Si es tu hobbie o pensas seguir la carrera de "Programador de aplicaciones web" o cosas asi primero aprenderia Python...