He leido varios posts diciendo que hoy dia lo que se usa es c++ porque no va bajo dos y es lo que mas se sa. Eso es falso en la primera parte. La version grafica de C es la Visual C++ y la Visual C .net (Aunque esta ultima como bien dice Tutor tiene su tema).
La diferencia entre C y C++ radica en los objetos. El C es un lenguaje basico y sencillo, mientras que C++ introduce los objetos, herencia y mas opciones. Visual C++ es mas grafico, pero no tan intuitivo como puede llegar a ser Visual Basic. Eso si a la hora de programar cualquier tipo de aplicacion, Visual C++ sin duda (Hablando siempre de programas para windows).
Si te vas a un sistema UNIX, ya sea Linux, BSD, Solaris o similar el codigo implementado esta en C++. Codigo puro y duro. Ahora existen herramientas para Linux bastante sencillas e intuitivas para poder empezar como el Gambas (parecido a Visual Basic).
Si vas a dedicarte a la programacion no estaria de mas que irias pensando en pasarte a Linux (hablo de linux porque es gratuito en la mayoria de los casos) ya que windows se hace muy engorroso por el tema de las apis, licencias y por otra parte porque su codigo esta oculto y programar aplicaciones para windows es un caso aparte.
Empieza con Turbo C++. Es un programa MS-Dos que funciona a las mil maravillas. Buscate un manual de C basico y haz tus pinitos con los tipicos programas de hola mundo o de los que multiplican dos numeros para ir haciendote con el lenguaje. Una vez que tengas aprendidas las sentencias basicas pasate a un manual de C++ para empezar a aprender sobre variables mas a fondo, arrays, herencia, punteros, manejor de archivos y bases de datos etc. Mas adelante si quieres empezar con interfaces graficas yo te recomiendo linux. Al ser de codigo abierto puedes tener mas posibilidades y te puedes encontrar menos perdido.