Wie sähe das beispielsweise in Commodore BASIC aus? Man deklariert irgendwelche kryptischen Arrays um die Autos zu beschreiben. Mangels strukurierter Variablen kann man nicht mal die Eigenschaften eines Autos zusammenfassen und muss das über unabhängig Arrays abbilden. Und das jeweilige Auto ist dann eine Index.
Was für ein Krampf! Sorry, das kann mir niemand erzählen, dass das leichter verständlicher sein soll und ein geeigneter Einstieg in die Programmierung ist.
Äh, na und?
1. In Commo-BASIC gibts dann halt ein Feld AutoFarbe, eines AutoMarke$, AutoGeschwindigkeit, und so weiter. Und das Autos Nummern haben lernen die Kinder schon beim Blick auf die Straße. Echt, Strukturierung und Namensräume sind was für Weicheier :))
2. Commodore BASIC ist eine absolute Minimalimplementation und Lichtjahre entfernt von einem BASIC das man für eine derartige Aufgabe verwendet - es geht, es ist aber ungefähr genauso sinnvoll wie Spieleprogrammierung in Excel (Das es geht sagt nur was über den Willen derer die es gemacht haben aus).
3. Ein BASIC das für eine derartige Datenbankaufgabe geeignet ist bietet Wege um genau solche Strukturen zu handhaben - auch ganz ohne das Objektorientiert zu nennen/machen. Von Olivetti bis Wang und MAI konnten alle ernsthaften Implementation das - lange bevor Herr Gates eine 8 KiB Mini-Implementation and Commodore verkauft hat.
Das mal aus dem Weg, Programmieren lernen hat nix mit Objektorentierung zu tun. Im Gegenteil, das verstellt einem nur den Blick auf die Grundlagen. Und Anfänger müssen erstmal das grundlegende Gefühl dafür bekommen, dass man den Rechner was machen lässt und wie das geht. Programmieren ist da nicht anders als jeder andere Handwerksberuf (ja, isses) . Wer was im Metallbereich lernt, der wird steht auch nicht am ersten Tag vor der CNC-Maschine, sondern feilt erstmal 4-6 Wochen U-Stahl. Und dann gehts an die Drehbank und die Fräse, und viel viel später und nach viel zusätzlicher Theorie kommt man dann an der CNC-Maschine an, die später den Beruf ausmachen wird.
Die meisten aktuellen Sprachen Verlangen viel zu viel Aufwand und Wissen, selbst für einfache Aufgaben. Nicht umsonst sind Sprachen wie Perl oder heute Python (nicht nur bei Einsteigern) so erfolgreich. Das ist das BASIC von heute, dass einen schnellen Einstieg ohne viel Lernen ermöglicht.
Ist auch die Grundlage des Wahnsinnserfolgs der Arduinos. Technisch ist der ja nur ein Breakoutboard eines AVR. Der eigentliche Erfolg kommt von der IDE. Und ja, es ist C++, aber es wird dem Anfänger BASIC-artig angeboten. Dabei entsteht natürlich auch Code der bei erfahrenen Programmierern Rant-Attacken auslöst. Aber schönes Programmieren ist da nie das Ziel gewesen. Es geht alleinigst darum Leute die mit Programmieren nix am Hut haben Grundlagen erlernen zu lassen. Und das funktioniert millionenfach. Das halbe Wunderland läuft damit.
Als Vater kann man nicht wissen was die Kinder mal werden (meine sind, trotz viel Computerberührung in der Jugend, dann doch in Verwaltung und Personalmanagement gelandet) . Daher macht es auch wenig sinn sie von Anfang an auf 'richtig' Programmieren zu trimmen. Was sinn macht ist ihnen den Spaß an ein bisschen Code zu vermitteln. Und da ist Arduino, Python und eben auch BASIC genau richtig.
Also historische Interpreter- und Compilersprachen sehr gerne - aus rein nostalgischen Gründen. Aber nicht als heutigen Einstieg in die Programmierung.
Heute genauso wie Damals. Aber halt genauso wie damals mit einem Auge darauf was für ein BASIC. Und Commodore oder Apple BASIC ist halt nie als Sprache für Anwendungen gedacht gewesen. Es ist immer nur eine Zugabe der Hardwarehersteller gewesen. Etwas das sie Eingekauft haben, damit sie Ihre Hardware verkaufen können. Das gilt im Prinzip für fast alle BASIC die damals mit Heimcomputern verkauft wurden. Sie waren nicht Produkte, sondern Vertriebsargumente.
Alle bis auf zwei Ausnahmen:
- TI-99 BASIC, welches von der Idee her ein Downport des Minicomputer BASICs war, ein Produkt, das dort nur gegen zusätzlich Geld zu haben war, also für sich alleine vorher schon erfolgreich war um echte Aufgaben zu lösen. Und natürlich
- BBC-BASIC, da war der Rechner die Zugabe zum BASIC, dass als Vehikel extra für Unterricht dienen sollte.
Letzteres interessant, weil es in England den Wettbewerb der Hersteller von reiner Hardware hin auf den Rechner als Gesamtsystem gebracht hat, was mit
- Locomotive BASIC und QL-BASIC
dann zwei bemerkenswerte Dialekte gebracht hat. Beides keine Business-BASIC, aber weit jenseits von C=BASIC 2.0
Also, wenn wenn man meint Mechanismen für Daten jenseits Commodore BASIC zu brauchen, dann ist ein Business-BASIC erste Wahl :))
Ansonsten: ACAB ... All Compilers Are Beautiful.