Zeilennummern in Basic - Wie kann man nur auf so ne dumme Idee kommen?



  • Bashar schrieb:

    Endlosschleife 🙂

    IF user = "Bashar" GOTO  21:52:21 24.04.2013
    

    😃



  • f.-th. schrieb:

    Ist ja schon lange her mit Basic und den Zeilennummern.

    Die ersten Basic, weiss schon gar nicht mehr ob Interpreter oder Compiler, waren noch mit Zeilennummern.

    Auf den Heimcomputern waren das alles Interpreter und GW-BASIC selbst war als Softwarelösung auch nur ein Interpreter.

    Etwa Mitte der siebziger Jahre liefen die ersten Basic-Programme auch ohne Zeilennummern. GWBasic war ja eines der letzten, die noch auf Zeilennummern angewiesen waren. Ab etwa 1990 konnte man auch Basic fast durchgängig bei damals aktuellen Programmen ohne Zeilennummern schreiben.

    Ja, GW-Basic wurde ab MS-DOS 5.0 praktisch von QBasic abgelöst.
    Das war auch nur ein Interpreter, aber schon mit wesentlich komfortanbleren Editor.

    Wer einen Compiler haben wollte, der mußte QuickBasic kaufen.

    Ein Teil der Interpreter oder Compiler in der Übergangszeit akzeptierte Quelltexte mit oder ohne Zeilennummern.

    Also AFAIK lief mein GW-Basic Code nie unter QBasic.

    Und die Speicher waren damals klein und teuer. Da waren selbst 64kB schon einiges. Es ging auch kleiner. Keine Ahnung ob du da mit dem Cassettenlaufwerk grosse Programme schreiben wolltest?

    Genaugenommen habe ich mit GW-Basic erst 1991 angefangen und es ein paar Wochen später wieder eingestellt, weil ich gemerkt habe, dass ich mit dem alten Klump nicht das realisieren können werde, was ich realisieren wollte.

    Auf GW-Basic viel die Wahl, weil es eigentlich keine Wahl war.
    GW-Basic war halt verfügbar, die anderen Sprachen nicht.

    Und als ich dann endlich MS-DOS 6.0 hatte, hätte ich QBasic lernen können (das gab's ab MS-DOS 5.0 und war ohne Zeilennummern), aber das wollte ich dann auch nicht mehr, weil ich von Basic völlig die Nase voll hatte.

    Meine wieder alternativlose Wahl viel dann etwas später auf Turbo Pascal.
    C++ Compiler waren damals leider zu teuer und manche IDEs kamen auf 20 Disketten
    und das wäre mir dann eine zu große Platzbelegung auf meiner damals kleinen Festplatte gewesen.
    Also blieb ich bei TP.

    Gibt es einen Anlass das alte Zeug wieder aufzufrischen?

    Ich habe erst gestern mit dem alten Interpretier wieder etwas herumgespielt.
    Nen Anlass gab's eigentlich keinen, ich wollte nur wissen ob ich es noch kann. 😃

    Und dann bin ich halt auf den Murks gestoßen.


  • Mod

    BASIC = MIST schrieb:

    IF user = "Bashar" GOTO  21:52:21 24.04.2013
    

    😃

    Ohne Zeilennummer wird der Befehl aber bloß einmalig sofort vom Interpreter ausgeführt.

    *Duck und Weg*



  • Über gwbasic zu reden ist ja schon fast wie Babyfotos ankucken 😃

    Hat damals alles astrein funktioniert, aber heute würd ich mir das auch nichtmehr antun wollen 🙂



  • Wie sollte man denn den vi in das ROM bekommen, das eh schon bei den Heimcomputern total überfüllt war? Speicher war damals extrem teuer und konnte über Sieg und Niederlage einer Firma entscheiden.

    Denk mal nicht, die Leute damals habe sich keine Gedanken gemacht, soviel Funktionalität in kurzer Zeit und mit extrem begrenzten Ressourcen wie möglich umzusetzen.

    Sobald etwas besser durchdacht werden soll, wird es teurer...siehe Apple. Wenn es zu teuer wird kaufen nur wenige. Die Macs waren damals 10x zu teuer und heute zum Glück nur noch 2x. Aber es ist immer ein Problem, deswegen wird soviel gemacht wie halt geht. Das ist heute so und war früher sicherlich nicht anders.



  • BASIC = MIST schrieb:

    Und dann bin ich halt auf den Murks gestoßen.

    20 oder 30 Jahre später ist man immer schlauer. Nur warst du offenbar damals nicht so schlau, es besser zu machen, sonst wären wir ja schon viel weiter, oder?

    Wenn du das rückblickend so "murksig" findest, dann schön. Fühl dich überlegen.



  • Kann KuhTee zustimmen. Nachher ist man immer schlauer. Sei damals so schlau gewesen und Du bist einen Schritt voraus. Aber wenn es so schlau war, hättest Du Dich damit wohl durchgesetzt.



  • KuhTee schrieb:

    Wenn du das rückblickend so "murksig" findest, dann schön. Fühl dich überlegen.

    Ich bin mir sicher, die haben das damals auch als "murksig" empfunden. Genauso wie heute Macros/Headers/Templates/C++ allg. als "murksig" empfunden wird. Leider sind mir keine besseren Alternativen bekannt.



  • KooFie schrieb:

    KuhTee schrieb:

    Wenn du das rückblickend so "murksig" findest, dann schön. Fühl dich überlegen.

    Ich bin mir sicher, die haben das damals auch als "murksig" empfunden. Genauso wie heute Macros/Headers/Templates/C++ allg. als "murksig" empfunden wird. Leider sind mir keine besseren Alternativen bekannt.

    D, aber genauso wie früher ist man der Meinung, dass das schlechtere Unterstützt wird. Früher konnten nämlich sehr viele Basic und heute gibt's n > 1000 libs für C++.

    Fazit:
    Aus vergangenen Fehlern wird nix gelernt.



  • D ist besser schrieb:

    KooFie schrieb:

    KuhTee schrieb:

    Wenn du das rückblickend so "murksig" findest, dann schön. Fühl dich überlegen.

    Ich bin mir sicher, die haben das damals auch als "murksig" empfunden. Genauso wie heute Macros/Headers/Templates/C++ allg. als "murksig" empfunden wird. Leider sind mir keine besseren Alternativen bekannt.

    D, aber genauso wie früher ist man der Meinung, dass das schlechtere Unterstützt wird. Früher konnten nämlich sehr viele Basic und heute gibt's n > 1000 libs für C++.

    Fazit:
    Aus vergangenen Fehlern wird nix gelernt.

    D vielleicht besser im Ansatz, aber leider (immer!) noch total unbrauchbar. Zum guten Ansatz kommt eine Ansammlung von undurchdachten Features, von denen man jetzt merkt, dass sie eher "murksig" waren, d.h. undurchdacht (Laden von Modulen), inkonsistent (Referenzen), widersprüchlich (pure) oder schlicht unnötig (GC). Insgesamt murksig genug, dass ich davon abrate und auf die nächste Sprache warte. D ist mMn nicht mehr zu retten.



  • KooFie schrieb:

    undurchdacht (Laden von Modulen), inkonsistent (Referenzen), widersprüchlich (pure) oder schlicht unnötig (GC)

    Kannst du darauf etwas näher eingehen?
    Also bis auf den letzten Teil, denn die Integration eines GC halte ich nicht für schlecht/unnötig, ich denke das ist einfach Ansichtssache.



  • ...



  • Swordfish schrieb:

    LET this_thread end
    
    ?SN ERROR
    


  • Swordfish schrieb:

    LET this_thread end
    

    10 USER = "Swordfih"
    300 KICK USER FROM THREAD



  • f.-th. schrieb:

    Und die Speicher waren damals klein und teuer. Da waren selbst 64kB schon einiges.

    Nicht "schon einiges", sondern in aller Regel das Ende der Fahnenstange, weil die gängigen Rechner gar nicht mehr adressieren konnten - inkl. ROM und Grafikspeicher. 32k war deshalb manchmal schon die maximale Ausbaustufe fürs RAM von 8-bit Systemen.

    So wie sich die Kiddies heute keine Telefone mit Schnur und Wählscheibe vorstellen können, ignoriert die heutige Bewertung völlig die Begrenzung der damaligen Zeit.

    Denn die vielleicht 8k-RAM mussten für Betriebssystem, Grafikspeicher, "Entwicklungsumgebung", Quelltext(Zwischencode) und Laufzeitumgebung reichen.

    Als dann die Kapazitäten größer wurden und Disketten oder gar Winchesterdrives als Massenspeicher aufkamen, waren dann auch schnell die bekannten Hochsprachen verfügbar bzw. die BASIC-Dialekte reifer. Glaube mich an ein Turbo-Pascal unter CP/M zu erinnern. Ist aber schon rund 30 Jahre her 🙂

    Ciao, Allesquatsch



  • Unsinn, klar konnten auch schon die kleinen 8-Bitter mehr adressieren. Zwar mit Bankswitching, aber das ging schon immer recht gut. Der Preis war der Grund des wenigen Speichers, nicht dass man den nur indirekt adressieren konnte.



  • B4ndit schrieb:

    Unsinn, klar konnten auch schon die kleinen 8-Bitter mehr adressieren. Zwar mit Bankswitching, aber das ging schon immer recht gut. Der Preis war der Grund des wenigen Speichers, nicht dass man den nur indirekt adressieren konnte.

    Aber eben nicht bei den gängigen Rechnern, die den Massenmarkt ausgemacht haben. Die Erweiterung durch Bankswitching war nur der letzte, aber erfolglose Versuch diverser Hersteller, ihre veralteten Plattformen noch einmal zu hübschen.

    Zu diesem Zeitpunkt war der Erfolg der Macs, Amigas und Atari STs aber nicht mehr aufzuhalten und - das Threadthema betreffend - auch die Zeit der Zeilennummern und ROM-BASIC-Rechner vorbei: Etwa zeitgleich setzten sich die zeilennummerlosen BASICs und die Hochsprachen C und PASCAL durch.

    In großen Stückzahlen dürften 8-Bitter mit Bankswitching erst gekommen sein, als die alten CPUs noch mal in Druckern, PIMs und Steuerungen aufgetaucht sind.

    Ciao, Allesquatsch



  • Der C64 war auch ein weit verbreiteter Rechner und dort wurden die Speichererweitung auch per Einblendung und das Switchen durch die Bänke realisiert. Und das war sehr wohl ein gängiger Rechner.



  • Natürlich war der C64 ein gängiger Rechner, besser: der gängige Rechner überhaupt.
    Aber er wurde meines Wissens von Commodore niemals mit mehr als 64k RAM verkauft.

    Der "Nachfolger" mit 128k RAM, der C128, war genau so ein Flop mit, wie ich ihn erwähnte.

    Mit dem IBM PC und Apples Lisa waren nämlich bereits die Vorboten der Epoche auf den Markt gekommen, die das rasche Ende der ROM-BASIC Maschinen bedeutete. Der IBM bootete übrigens ohne MS-DOS-Disk auch noch mit einem ROM-BASIC.

    Ciao, Allesquatsch


Anmelden zum Antworten