Moin,
aus über 20jähriger leidvoller Erfahrung kann ich dir folgende Tipps geben:
Du mußt wissen, was du willst.
Wilst du nur was zu Laufen bekommen und staunend vor dem Bildschirm sitzen, wenn sich was bewegt, weil du wo hingeklickt hast und an den Lippen von z.B. Bill Gates hängen, wenn er wieder das Blaue vom Himmel runter verspricht und seine Aussagen für Gottgegeben halten möchtest.
Oder möchtest du wirklich wissen und erfahren/erleben, wie das mit den Nullen und den Einsen wirklich funktioniert und auch das Große und Ganze beurteilen können.
Für den ersten Fall würde ich dir Visual Basic empfehlen, das ist wirklich relativ einfach zu erlernen und man bekommt schnelle Ergebnisse, ohne die Maschine an sich verstehen zu müssen. Als Steigerung dann Java, dann bist du wenigstens systemunabhängig und kannst auch ohne Microsoft überleben.
Für den zweiten Fall rate ich dir, mit BASIC zu beginnen, und zwar mit einem, welches einen simplen Interpreter bereitstellt, keine graphische Oberfläche, also z.B. BW-Basic unter Linux. Ist QBasic nicht das alte Basic unter DOS?? Also, so ein altes Ding, damit du lernst, was sind Variablen, Schleifen, Unterprogramme, Arrays etc.pp...
Dann solltest du dich ein wenig mit Computergeschichte befassen, z.B. die Erkenntnisse des Herrn Boole, warum heißt ein Keks Leibnitz, wer war Ada Lovelace, Charles Babbage, Blaise Pascal, Lord Napier, Hermann Hollerith, Konrad Zuse, Alan Touring, Mark II, ENIAC, Enigma, Z3, Deep Thought, Deep Blue, Charles Moore. Da findest du genug Anregungen, was man in BASIC mal ausprobieren könnte. Ferner kümmere dich um Zahlensysteme, was ist Binär, Oktal, Dezimal, Hexadezimal und warum gibt es sie.
Dann solltest du ein paar Zombies aus ihrer Gruft locken: Beschäftige dich ein wenig mit ForTran, Pascal, Algol, COBOL, Forth. Nicht komplett lernen, sondern mal einen Überblick verschaffen, wie diese Sprachen funktioniern und warum. Hast du vor, kommerziell kaufmännische Software zu schreiben, schadet eine Beschäftigung mit COBOL und seiner Geschichte nichts, ansonsten ist Forth ziemlich interessant, weil ein Kuriosum. Und wenn du verdammt hart drauf bist, beschäftigst du dich mit SAP und ABAP, die Sau ist einfach nicht tot zu kriegen ;-)
Danach solltest du dich mit C beschäftigen, weil das ist relativ maschinennah. Probiere, deine BASIC-Erkenntnisse in C umzusetzen, und erlebe, wie es an allen Ecken und Enden knallt. Beschäftige dich mit Pointern, mit Speicherverwaltung, was ist "automatic memory", was ist der Unterschied bei Strings zwischen C und Basic, wie funktioniert Dateiverarbeitung in C, etc. Sprich, durch C bekommst du raus, wie funktioniert so eine Maschine intern wirklich, was ist eine Speicherschutzverletzung, eine Prozess-ID, was sind die drei I/O-Kanäle stdin, stdout, stderr.
Parallel dazu solltest du etwas über Assembler lernen. Nicht perfekt Assembler programmieren, sondern, was ist ein MOVE, ein JUMP, ein CMP, ein BRANCH, ein RTS, ein TRAP oder SVC, ein Stack, ein Returnstack, ein Heap, was sind Register. Wie funktioniert eine Addition/Multiplikation/Subtraktion/Division in Binär, also mit Nullen und Einsen, also mit AND/OR/NOT/XOR-Gattern in der Elektronik? Also, was bedeutet "Strom an/Strom aus" wirklich? Gönne dir die Erfahrung, "Strom an/Strom aus - Licht an/Licht aus" mit einem Lichtschalter zu machen, und damit binäre Zahlen darzustellen, das hilft evtl. ungeheuer, weil es ist visuell erlebbar.
Danach kannst du dir eine Compileroption von C zu Nutzen machen, die meisten Compiler kennen "-s", damit der Compiler nach erstellen der Assemblerliste aufhört. Das heißt, du kannst simple C-Programme schreiben und dir ansehen, welchen Assemblercode der Compiler daraus erzeugt. Die Datei heißt dann auch mit der Endung ".s". Daraus kannst du lernen, welche Programmierung die schnellste ist. Mit der Option "-O" schaltet man den Optimizer zu. Schaue dir die Assemblerliste an und erkenne, was der Optimizer warum verändert hat, um dein Programm schneller zu machen.
Und wenn du damit durch bist, verstehst du auch, WARUM Windows/Linux/MacOS etc. so funktionieren, wie sie funktionieren, warum VB so arbeitet und COBOL ganz anders, was Datenbanken sind, was Dateiverarbeitung ist in verschiedenen Sprachen und Betriebssystemen, kurz gesagt, du hast einen ziemlich guten Überblick.
Und dann kannst du dich immer noch mit PHP/JavaScript/Java/C++ und sonstigen "aufgesetzten" oder "aufgepfropften" Sprachen beschäftigen, die einen entweder simple Lösungen für simple Probleme liefern, oder einem helfen, die Probleme zu lösen, die man ohne sie nicht hätte.
Viel Spaß dabei!