Siento no estar de acuerdo con Cesar.
Para aprender a programar lo primero es aprender metodología de programación. Perder el miedo a los algoritmos con condiciones, bucles, ruptura de control, manejo básico de archivos, procedimientos y funciones, recursividad, arrays, etc........
Si empiezas con un lenguaje super moderno para entornos gráficos lo primero que vas a hacer en hartarte de usar botones y dibujitos, pero no aprenderás a programar realmente. Cuando veas un programa con código más largo de diez lineas no sabrás por donde cogerlo.
El QBasic puede ser bueno para empezar ya que está en español y es muy estable. En otros lenguajes como C o Pascal si haces algo mal, el ordenador se bloqueará y tendrás que reiniciarlo, con lo que le cogérás miedo al principio. En qbasic no pasa eso.
Te recomiendo que pruebes con qbasic para empezar teniendo en cuenta unas cosillas.
Tienes que declarar las variables aunque qbasic no te lo exija, si no no aprendes a usarlas.
Prohibido usar las instrucciones goto y las etiquetas. son una forma de programacìón que está en desuso porque provoca errores de lógica en los programas.
Cuando domines esto puedes pasar a Turbo C o turbo pascal para familiarizarte con otros lenguajes y con otras técnicas como los punteros y la POO no soportada por qbasic.
Después ya pasas a Windows y aprovechas todo lo que sabes para empezar a hacer programas de verdad en VB o en delphi o en los lenguajes modernos que se usan en la acutalidad, pero sabiendo programar, no solo poner dibujitos.
Saludos.