Wäre es interessant schon im Jahr 2024 schon mit Commodore BASIC anfangen zu lernen?
Hallo Leute, ich habe mir gedacht mal Commodore BASIC lernen, aber nicht auf Originaler Hardware, aber auf den VICE Emulator, ein Emulator für 8-Bit Commodore Heimcomputer.
Ich mache das mit dem C64, wo man Programme als digitale Kassette oder digitale Diskette und man verwendet sie, als wären es echte Datenträger.
Warum ich diese Sprache lernen würde, aus Spaß und als Hobby, meine Programmierkenntnisse erweitern und ich bin selbst interessiert über die Geschichte der Heimcomputer und Videospiele und das C64 (später Amiga und deren gefloppten Multimedia und Heimkonsolen) find ich spannend.
Und die Sprache ist recht minimal. Kennt man heute noch von Lua, Arduino, welches C basierte Sprachen sind. Und auch Python, obwohl das was eigenes ist. Hier ist auch das was ich meine:
Und es gibt Leute die Spiele damit Programmiert haben und Geld damit damals gemacht haben. Und ein Polnischer Indie Programmierer, der Sos Sosowski (Macher von McPixel), der programmierte beim C64 mit BASIC auch paar Spiele. Ich mache es nur als Hobby.
Was denkt ihr dazu, dass ich BASIC im Jahre 2024 lerne, auf einem C64 Emulator?
7 Antworten
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 :)
Ich finde das man sich auf Commodore BASIC sich gewöhnen kann, aber Visual Basic mag ich nicht so gern von der Sprache her.
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
Ich bin ja auch ein Nostalgiefan. Ich hatte allerdings nie einen C64. Meine Rechner waren damals:
ZX 81
Sinclairs Spektrum
Beinahe wäre es noch ein QL geworden
Von Commodore war es der Amiga, und der Plus4
Atari 800 XL
Schneiders CPC
Ich würde mir aber keinen Simulator installieren, nur um damit Nostalgierechner zu simulieren. Wenn du dir aber FbEdit auf dem Rechner installierst, lässt sich Basic wunderbar verwenden.