Wäre es interessant schon im Jahr 2024 schon mit Commodore BASIC anfangen zu lernen?

8 Antworten

Als Hobby und Einblick in die Geschichte interessant, aber zum Programmieren lernen würde ich den Schritt an deiner Stelle überspringen. Commodore BASIC 2.0 war echt beschränkt, deswegen gab es auch inoffizielle Erweiterungen wie Simon's Basic. Aber ab 3.5 hat Commodore Grafikbefehle eingeführt, mit denen du sehr schön herumspielen kannst.

Wenn du den Fortschritt von damals zu heute noch stärker spüren und in noch tiefer ins Tüfteln eintauchen willst, hol dir ein Buch wie "Maschinensprache programmieren mit Assembler auf dem C64" (Titel sinngemäß erinnert). Ein einfaches Assemblerprogramm wäre, den Bildschirmhintergrund in allen 16 Farben blinken zu lassen. Das gleiche schreibt sich in BASIC kurz und kompakt, in Maschinensprache erscheint es zunächst umständlich. Aber das schult auch das Denken und Umdenken und ist somit gut zum Programmieren lernen.

Woher ich das weiß:eigene Erfahrung

daCypher  04.07.2024, 11:10
Ein einfaches Assemblerprogramm wäre, den Bildschirmhintergrund in allen 16 Farben blinken zu lassen. Das gleiche schreibt sich in BASIC kurz und kompakt, in Maschinensprache erscheint es zunächst umständlich. Aber das schult auch das Denken und Umdenken und ist somit gut zum Programmieren lernen.

Sowas fand ich immer ganz interessant, um den Geschwindigkeitsunterschied zwischen Basic und Assembler zu sehen.

Z.B. das Basic-Programm schafft so 2-3 Farbänderungen pro Screen refresh:

10 FOR I=1 TO 15: POKE 53281,I: NEXT I: GOTO 10

Und das entsprechende Assemblerprogramm macht alle 6 Takte eine Farbänderung (also mehrere pro Zeile)

A9000 INC D021
A9003 BCC 9000

Mit Basic-Lader, für alle die es mal probieren wollen:

10 FOR I=0 TO 4:READ D:POKE 36864+I,D:NEXT I
20 DATA 238,33,208,144,251
30 SYS 36864
1

Wenn ich Basic neu lernen wollen würde, würde ich es auf einem aktuellen Betriebssystem machen. Also entweder VBA in MS Office oder VBscript auf dem Windows Scripting Host. Wobei sich beides sehr ähnlich ist.
Das hat auch schon Retro-Feeling, nur halt 20 Jahre und nicht gleich 40 Jahre in die Vergangenheit. VB.NET wäre die Alternative ohne Retro-Feeling.

Wenn du ernsthaft programmieren lernen willst, würde ich das alte Commodore-Basic nicht empfehlen. Die Sprache hat so einige Eigenheiten, die aus heutiger Sicht wirklich nervig sind.

  • Bei Variablennamen werden nur die ersten zwei Buchstaben berücksichtigt
  • Alles wird als Fließkommazahl berechnet (sogar Schleifenindizes)
  • Man muss bei jeder Zeile die Nummer vorne dran schreiben
  • Keine Einrückung, um ein bisschen Übersicht zu behalten
  • Eine Zeile ist grade mal 40 Zeichen lang, wobei man zwei Bildschirmzeilen für eine logische Zeile beschreiben kann
  • IFs beziehen sich nur auf den direkt darauf folgenden Befehl. Das heißt, man muss meistens mit einem GOTO irgendwo hinspringen, zwischendrin den Code schreiben, der ausgeführt werden soll, wenn die Bedingung nicht zutrifft, dann ein GOTO, was hinter den eigentlichen IF-Block springt und dazwischen das, was in der Bedingung abgefragt wird. Ziemliches Gefrickel.
  • Es gibt keine Methoden. Man kann sowas ähnliches mit GOSUB simulieren, aber muss immer aufpassen, dass man keine Variablen überschreibt, die man außerhalb der Methode braucht. Rekursion geht auch nicht.
  • Kein Copy & Paste. Wenn man Glück hat, kann man ganze Zeilen LISTen und mit neuen Zeilennummern speichern, damit sie doppelt im Programm sind.
  • Wenn man vergisst, zu speichern, ist die ganze Arbeit weg. Und speichern geht nicht schnell mit Strg+S, sondern mit SAVE "@:MeinProgramm", 8. Wenn man das @ vergisst und die Datei existiert schon, blinkt bloß die Statuslampe vom Laufwerk und es wird nichts gespeichert.

Das einzige, was ich am Commodore Basic ganz witzig finde ist, dass man Tastenkombinationen für bestimmte Steuerbefehle direkt in Strings schreiben kann. Z.B. gibt es die Tastenkombination Shift+Home, mit der man den Bildschirm leeren kann. Die kann man einfach mit PRINT ausgeben lassen, damit sie eben ausgeführt wird. Genauso, wie Textfarben, Inverse Schrift, Cursorbewegungen etc.

Ich schwelge manchmal ein bisschen in der Nostalgie und mag es, solche alten Dinge auszuprobieren. Ich hab mir auch ein paar 64'er Hefte von Archive.org runtergeladen und z.B. dieses MSE-Programm (Maschinensprache-Editor) komplett aus dem Heft abgeschrieben, um dann in MSE den Hypra-Ass Assembler abzuschreiben, aber das hab ich nur gemacht, um zu wissen wie es für einen damaligen Hobby-Anwender gewesen sein muss. Nicht um ernsthaft was zu lernen.

Also ehrlich gesagt fand ich Basic schon immer eine grausige Sprache, der einfach so ein bisschen Eleganz fehlt.

Aber ich kann auch verstehen, dass die Geschichte der Computer dich fasziniert, das ist ja einfach auch unglaublich cool. Mir kaut ein Bekannter von mir immer wieder das Ohr ab wie es damals war so einen C64 zu haben.

Wenns dir Spaß macht klingt das doch nach nem echt coolen Hobby :)


ProgrammFrage 
Beitragsersteller
 28.01.2024, 00:46

Ich finde das man sich auf Commodore BASIC sich gewöhnen kann, aber Visual Basic mag ich nicht so gern von der Sprache her.

1
Was denkt ihr dazu, dass ich BASIC im Jahre 2024 lerne, auf einem C64 Emulator?

😁„Ein jedes Tierchen hat sein Pläsierchen“

...warum also nicht einen gelegentlichen Exkurs in die Geschichte...

Ich habe viele Jahre lang zum Spaß in der Konsol-Emszene supported und programmiert (bugfixing, Pixelshader, Sprachlocalisierung)

...und getestet. (sprich gezoggt, bis der Arzt kommt😌)

Ich kenne gestandene Maschinenbauingenieure, welche sich am Wochenende mit nem Hammer an eine rauchende Mittelalter-Schmiedeesse stellen. Dabei wissen sie wie man die Produkte viel einfacher fertigen kann...

...Die haben Spaß daran...

Wenn Du Bock auf ein Hobby , wie "Programmieren im Mittelalter" hast, habe Deinen Spaß dabei.

Ich hatte Beispielsweise eine ganze Weile das Hobby, Dinge, welche ich ganz leicht mit einer geeigneten Programmiersprache lösen konnte, in Batch umzusetzten... : https://www.gutefrage.net/home/thema/batch-trick/neue

Die Lösungen waren dabei teilweiße hirnzerfetzend.

, meine Programmierkenntnisse erweitern 

...naja die "Erweiterung" läuft dabei wohl "etwas🤪" in Richtung Esoterik.

...zumindest lernt man als "Minimalist" um die Ecke zu denken.

MacGyver weiß immer eine Lösung mit dem was er in der Hosentasche hat.

Viel Spaß bei Deinem Hobby LG Erzesel