Para aprender a programar yo te recomiendo Visual BASIC. Me parece un lenguaje excelente para desarrollar cualquier aplicación porque es fácil de programar y eso te evita quebraderos de cabeza innecesarios.
Si quieres meterte en microcontroladores o microprocesadores, entonces sí podría tirar por el C, ya que últimamente se viene desarrollando mucho en este lenguaje y hay muchas librerías.
De todas formas, personalmente prefiero el ASM (ensamblador). Aunque los comienzos son difíciles (tienes que moldear tu mente hasta que tus ideas sean tan cuadradas como los chips que vas a programar), cuando le coges el truco me parece infinitamente más fácil de programar que cualquier lenguaje de alto nivel

(alguno se estará llevando las manos a la cabeza

). El juego de instrucciones es siempre el mismo y las reglas son tan fijas que nunca tendrás que pelearte con un "punto y coma" que te falte o te sobre, sino con el problema real de la aplicación. Eso sí, para cualquier operación necesitas muchas más instrucciones, pero si te haces con buenas librerías no es tanto problema.