Andreas Bierhals: Ist JS nun eine Programmiersprache oder nicht?

Beitrag lesen

Hallo Stefan!

Nun kann ich eigentlich ganz gut damit leben, nicht zu wissen, wo die Grenze genau ist. Aber vielleicht gibt es ja aus Deiner Sicht wichtige Unterschiede?

Ich hatte "damals" (Nebenfach Informatik...) mal was von sog. "Turing-Maschinen" gehört. Kern solcher hypothetischen Maschinen ist eine Art "Band", welches aus Nullen und Einsen besteht, die mit einem Schreib/Lesekopf an einer festen Stelle gelesen und manipuliert werden können, außerdem kann sich das Band um eine Stelle nach "rechts" oder "links" bewegen.
Bildlich:

...10011001010011100010....
            
             ^
        Schreib/Lesekopf

Ferner existieren in einer Turingmaschine unterschiedliche Betriebszustände, die mit ganzen Zahlen numeriert werden sollen.

Ein Programm-Ablaufschritt gestaltet sich nun wie folgt:

  • Die Maschine befindet sich in irgendeinem Betriebszustand n (am Anfang z.B. n=0).
  • Zuerst wird geprüft, ob am S/L-Kopf eine 0 oder 1 anliegt.
  • Nun erfolgt, abhängig, ob eine 0 oder 1 gelesen wurde, zunächst ein Befehl, der eine 0 oder 1 schreibt, danach einer, der das Band entweder nach rechts oder links bewegt und schließlich ein Verweis auf einen neuen Zustand oder ein Stop-Befehl.

Ein "Zustand" enhält also z.B. folgende Angaben:

No. 6      # Nummer des aktuellen Zustandes
1   0 R 7  # Wenn '1' gelesen wurde,
           # dann '0' schreiben und Band
           # nach Rechts. Weiter bei
           # Zustand 7

0   0 L 8  # Wenn '0' gelesen wurde,
           # dann auch '0' schreiben, Band
           # aber nach links und weiter
           # bei Zustand 8.

Warum ich diesen ganzen Kram erzähle? Irgendein Mathemathiker (frag mich jetzt lieber nicht, ich vermute mal stark, er hieß Turing <g>) hat bewiesen, daß sich mit einer solchen Maschine prinzipiell jedes algorithmische Problem lösen läßt (Wobei die Berechnungsdauer dabei erstmal keine Rolle spielen soll *g*).
Damit kommen wir jetzt auch endlich zu Deiner Frage nach dem Grenzfall: Wenn es Dir gelingt, mit irgendeiner Skriptsprache oder sonstwas eine Turing-Maschine nachzubasteln, dann ist diese Sprache demnach automatisch in der Lage, jedes algorithmische Problem zu lösen - womit sich eine feste Grenze zwischen den verschiedenen Programmier/Beschreibungs-Sprachen ziehen läßt.

Meiner Meinung nach sollte so eine Turing-Maschine auf einer HTML-Seite verbunden mit JavaScript kein Problem darstellen, mit reinem HTML wird es dagegen wohl kaum funktionieren.

Viele Grüße

Andreas

0 50

Ist JS nun eine Programmiersprache oder nicht?

Antje Hofmann
  • javascript
  1. 0
    Joachim
  2. 0
    Carsti
    1. 0
      Cheatah
      1. 0
        Martin Speiser
        1. 0
          Michael N.
          1. 0
            Mirko
            1. 0
              Martin Speiser
              1. 0
                Michael N.
        2. 0
          Thomas Hieck
      2. 0
        Wilhelm
    2. 0
      Benedikt Scholz
      1. 0
        Carsti
        1. 0
          Benedikt Scholz
  3. 0
    Boris Hoeller
  4. 0
    Benedikt Scholz
    1. 0
      Boris Hoeller
      1. 0
        Benedikt Scholz
        1. 0
          Mirko
          1. 0
            Benedikt Scholz
            1. 0
              Mirko
      2. 0
        Stefan Muenz
        1. 0
          Andreas Bierhals
          1. 0
            Stefan Muenz
            1. 0
              Wilhelm
              1. 0
                Andreas Bierhals
              2. 0
                Thomas J.S.
          2. 0
            Wilhelm
            1. 0
              Benedikt Scholz
              1. 0
                Stefan Muenz
                1. 0
                  Benedikt Scholz
                  1. 0
                    Stefan Muenz
                    1. 0
                      Benedikt Scholz
            2. 0
              Andreas Bierhals
            3. 0
              Thomas J.S.
        2. 0
          Boris Hoeller
  5. 0
    Thomas Hieck
    1. 0
      Benedikt Scholz
      1. 0
        Andreas Bierhals
        1. 0
          Mirko
        2. 0
          Benedikt Scholz
      2. 0
        Thomas Hieck
        1. 0
          Benedikt Scholz
  6. 0
    Antje Hofmann
    1. 0
      Benedikt Scholz
    2. 0
      Michael Schröpl
  7. 0
    joerg
    1. 0
      Antje Hofmann
    2. 0
      Wilhelm
    3. 0
      Benedikt Scholz