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



  • BASIC = MIST schrieb:

    B4ndit schrieb:

    Die Unannehmlichkeiten mit den Zeilennummer in Basic war für mich nie wirklich ein großes Problem und zur Not konnte man auch neu Nummerieren lassen. Früher waren andere Sachen, wie zuwenig Speicher oder die geringe Laufzeitgeschwindigkeit, ein weit auch größeres Problem.

    Wenn ein Programm 10000 Zeilen Code hat, dann bedeutet das,
    (9*(2+1))+(90*(3+1))+(900*(4+1))+(9000*(5+1))+(1*6+1) = 58894 Byte nur
    für die Zeilennummern und dem pro Zeilennummer folgenden Leerzeichen belegt werden.

    57 Kybte die man sicherlich für wichtigeres hätte verwenden können, als für Zeilennummern.

    Ganz falsch. Pro Zeilennummer zwei Bytes. Außerdem pro Basic-Befel oder -Funktion ein Byte. Das wird umgesetzt gleich beim Eingeben.

    BASIC = MIST schrieb:

    volkard schrieb:

    es gab ja keinen text-editor, sondern nur eine eingabezeile und den list-befehl.
    mit zeiulennummern hat man verraten, welche zeile eingefügt, überschrieben oder gelöscht werden sollte.

    Es gab zu der Zeit schon speichersparende Editoren wie vi, die konnten auch Zeilenweise Text Editieren und trotzdem mußte man nicht die Nummern in den Quellcode fest einkodieren. Letzteres ist schlimmer als Layouttags in HTML Code.

    Leider hast Du Null Ahnung.



  • volkard schrieb:

    Wenn ein Programm 10000 Zeilen Code hat, dann bedeutet das,
    (9*(2+1))+(90*(3+1))+(900*(4+1))+(9000*(5+1))+(1*6+1) = 58894 Byte nur
    für die Zeilennummern und dem pro Zeilennummer folgenden Leerzeichen belegt werden.
    57 Kybte die man sicherlich für wichtigeres hätte verwenden können, als für Zeilennummern.

    Ganz falsch. Pro Zeilennummer zwei Bytes. Außerdem pro Basic-Befel oder -Funktion ein Byte. Das wird umgesetzt gleich beim Eingeben.
    [/QUOTE]
    Klar und die Zahl für die Zeilennummer 2^16 + 1 bildest du wie ab?

    BASIC = MIST schrieb:

    volkard schrieb:

    es gab ja keinen text-editor, sondern nur eine eingabezeile und den list-befehl.
    mit zeiulennummern hat man verraten, welche zeile eingefügt, überschrieben oder gelöscht werden sollte.

    Es gab zu der Zeit schon speichersparende Editoren wie vi, die konnten auch Zeilenweise Text Editieren und trotzdem mußte man nicht die Nummern in den Quellcode fest einkodieren. Letzteres ist schlimmer als Layouttags in HTML Code.

    Leider hast Du Null Ahnung.

    vi kennst du nicht?

    Faszinierend, habe ich hier also doch jemanden gefunden der Basic verteidigt und mir widerspricht. 😃



  • BASIC = MIST schrieb:

    Klar und die Zahl für die Zeilennummer 2^16 + 1 bildest du wie ab?

    Gar nicht. Bei 64k Hauttspeicher wird man sicher kein Programm basteln müssen, das mehr als 64k Zeilen Code hat.

    BASIC = MIST schrieb:

    vi kennst du nicht?

    Doch. Nur hätte ein Texteditor wenig gebracht.

    BASIC = MIST schrieb:

    Faszinierend, habe ich hier also doch jemanden gefunden der Basic verteidigt und mir widerspricht. 😃

    Wo stand, daß ich Basic verteidige? Wenn Du fachliche Fragen hast, als her damit.



  • Es gab zu der Zeit schon speichersparende Editoren wie vi,

    Hier informieren:
    http://de.wikipedia.org/wiki/BASIC#Geschichte
    http://de.wikipedia.org/wiki/Vi
    Vielen Dank, gerne wieder.



  • Bashar schrieb:

    Es gab zu der Zeit schon speichersparende Editoren wie vi,

    Hier informieren:
    http://de.wikipedia.org/wiki/BASIC#Geschichte
    http://de.wikipedia.org/wiki/Vi
    Vielen Dank, gerne wieder.

    Passt doch!

    Vi erschien vor den Heimcomputern und dem Apple 1, das genügt völlig.
    Davor war Basic kein Thema, weil Smalltalk, Fortran & Co dominierten.



  • BASIC = MIST schrieb:

    Vi erschien vor den Heimcomputern und dem Apple 1, das genügt völlig.

    Nö:
    http://de.wikipedia.org/wiki/BASIC#Geschichte



  • Bashar schrieb:

    BASIC = MIST schrieb:

    Vi erschien vor den Heimcomputern und dem Apple 1, das genügt völlig.

    Nö:
    http://de.wikipedia.org/wiki/BASIC#Geschichte

    Nochmal lesen:

    Vi erschien vor den Heimcomputern und dem Apple 1, das genügt völlig.



  • Endlosschleife 🙂



  • 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. 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. Ein Teil der Interpreter oder Compiler in der Übergangszeit akzeptierte Quelltexte mit oder ohne Zeilennummern.

    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? Festplatten kosteten soviel wie ein PKW und die 8" Diskettenlaufwerke hatte auch nicht jeder und ganz so viel passte da auch nicht drauf. 😉

    Gibt es einen Anlass das alte Zeug wieder aufzufrischen?

    MfG f.-th.



  • 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.


Anmelden zum Antworten