PRG aus Basic zum Schreiben öffnen

  • Mike schrieb:

    ZeroZero schrieb:

    @Mike
    Schöner Aufsatz, ändert aber nichts an dem Irttum der VM-Idee, egal wieviele Zitate Du auf wievielen toten Bäumen findest.

    Im Übrigen frage ich mich, wie Du den Bildschirm in REINEM Basic, ohne den Umweg des von der "VM" offen gelassenen Kanals zu den Bildschirmports.... Das ist alles schon sehr weit hergeholt und eher eine bifforeske Selbstdefinition. Aber wenn es Dich glücklich macht, soll es mir Recht sein.
    Das Problem dürfte eher deine zu verengte eigene Definition des Begriffs "Virtuelle Maschine" sein.
    Es handelt sich bei der von mir genannten Zugriffsmethode auf den Bildschirm mitnichten um einen "Umweg". Ohne die Nutzung von PEEK() ist genau dieser Weg kanonisch. Es gibt eine weit verbreitete Gruppe von Betriebssystemen, welche die Sichtweise "alles ist eine Datei" in der Fahne führen. :D
    Es gibt auch eine Menge Leute, die glauben, die Erde wäre eine Scheibe. Wie gesagt, ich werde Dir Deinen Weg zur Seligwerdung nicht absprechen, muss ihn aber nicht teilen, oder?
    Life's good! :thumbup:
  • ogd schrieb:

    Würdest du auch so weit gehen und alle Interpreter als eine virtuelle Umgebung sehen?
    Ich brauche da nicht so weit zu gehen, ich bin da schon.

    Den notwendigen Abstraktionsgrad muß man dann schon mitbringen, klar. Aber um etwas nur dann als VM zu qualifizieren, wenn es den Bytecode eines Java-Programms ausführt oder den Maschinencode eines Intel-Prozessors als Hypervisor ausführt (und das scheint mir der Anspruch zu sein, den ZeroZero an eine VM stellt) ist mir eindeutig zu eng gefaßt.

    ZeroZero schrieb:

    Es gibt auch eine Menge Leute, die glauben, die Erde wäre eine Scheibe. Wie gesagt, ich werde Dir Deinen Weg zur Seligwerdung nicht absprechen, muss ihn aber nicht teilen, oder?
    Es gibt hier absolut keinen Grund, beleidigend zu werden. Schon die Formulierung "Schöner Aufsatz" in deinem vorigen Beitrag hätte ich problemlos als herablassend auffassen können. Das war's jetzt für dich.

    *PLONK*
  • Mike schrieb:

    ogd schrieb:

    Würdest du auch so weit gehen und alle Interpreter als eine virtuelle Umgebung sehen?
    Ich brauche da nicht so weit zu gehen, ich bin da schon.

    Den notwendigen Abstraktionsgrad muß man dann schon mitbringen, klar.

    Wo würdest du denn die Grenze ziehen? Ist zum Beispiel bei CPUs, die intern Mikrocode benutzen, der nach außen sichtbare Befehlssatz auch sowas wie eine VM?
  • Eine VM ist immer vollständig abgeschottet von der realen Maschine, die sie bereitstellt. Die Verwendung der realen Maschine geschieht ausschließlich über Schnittstellen, die in der VM definiert sind. Mag gut sein, dass das auch mal jemand anders definiert hat, das ist dann allerdings eine Minderheitsmeinung. Ohne diese vollständige Abschottung könnte man jeden beliebigen Interpreter (wie wäre es mit CMD.EXE zum Beispiel?) als VM bezeichnen, das ergibt keinerlei Sinn.

    Üblich ist außerdem, dass eine VM eine Maschine nach dem Vorbild realer Maschinen implementiert, also ein System mit Speicher für Zustand, und Instruktionen, um diesen zu ändern oder abhängig davon zu verzweigen. Das kann man allerdings ruhig etwas weiter fassen, wenn man mag. Zentrales Merkmal einer VM bleibt die Abschottung, damit die virtuelle Maschine "von innen" auch wirklich aussieht wie eine echte.

    ogd schrieb:

    Ist zum Beispiel bei CPUs, die intern Mikrocode benutzen, der nach außen sichtbare Befehlssatz auch sowas wie eine VM?
    Diese Betrachtung fände ich allerdings absolut zulässig :)
  • zrs1 schrieb:

    ogd schrieb:

    Ist zum Beispiel bei CPUs, die intern Mikrocode benutzen, der nach außen sichtbare Befehlssatz auch sowas wie eine VM?
    Diese Betrachtung fände ich allerdings absolut zulässig :)
    Da stimme ich auch zu, DAS wäre eher eine VM, solange die CPU gekapselt bleibt und der nach aussen weisende Befehlssatz die Integrität der CPU nicht korrumpiert.
    Life's good! :thumbup: