Antje Hofmann: Ist JS nun eine Programmiersprache oder nicht?

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

Hallo,

Ich habe in letzter Zeit öfter gehört, JS ist keine Programmiersprache bzw. wer html lernen kann, kann auch JS problemlos lernen. Das würde ich doch recht gern mal zur Diskussion stellen.

Ist JS nun eine Programmiersprache oder nicht?

Wenn ja - warum? Wenn nein - warum nicht?

Als Ansatz gebe ich dazu mal diese Datei:

<html><head><title>Fakultät</title></head>
<body bgcolor="#F1F1FA">
<script language="JavaScript">
<!--

function fak(Zahl)
{return fak1(Zahl,1);}

function fak1(zahl,x)
{if (zahl==0) return x;
else return fak1((zahl-1),(zahl*x));}

function fak2(zahl)
{if (zahl==0) return 1;
else return zahl*fak2(zahl-1);}

//-->
</script>

<script language="JavaScript">
<!--
document.write("Berechnung von 5 Fakultät (5!)<br><br>");
document.writeln("Ergebnis von fak: ",fak(5),"<br>");
document.writeln("Ergebnis von fak2: ",fak2(5),"<br>");

//-->
</script>
</body></html>

Für alle Nichtmathetiker:

5! berechnet sich wie folgt: 5!=5*4!, 4!=4*3!, 3!=3*2!, 2!=2*1!, 1!=1*0! und 0!=1
das heißt: 5!=5*4*3*2*1*1=120

Um die Unterschiede im Verhalten der Funktionen deutlich zu machen, kann auch diese Datei verwendet werden:

<html><head><title>Fakultät2</title></head>
<body bgcolor="#F1F1FA">
<script language="JavaScript">
<!--

function fak(Zahl)
{return fak1(Zahl,1);}

function fak1(zahl,x)
{if (zahl==0) {document.writeln(zahl,"   ",x,"<br><br>");
  return x;}
else {document.writeln(zahl,"   ",x,"<br>");
  return fak1((zahl-1),(zahl*x));}}

function fak2(zahl)
{if (zahl==0) {document.writeln(zahl,"   ",1,"<br>");
   return 1;}
  else {x=zahl*fak2(zahl-1);
  document.writeln(zahl,"   ",x,"<br>");return x}}
//-->
</script>

<script language="JavaScript">
<!--
document.write("Berechnung von 5!<br><br>");
document.write("z   x<br><br>");
document.writeln("Ergebnis von fak: ",fak(5),"<br><br>");
document.write("z   x<br><br>");
document.writeln("Ergebnis von fak2: ",fak2(5),"<br>");
//-->
</script>
</body>
</html>

Viele Grüße

Antje

  1. hallo Antje,
    in der Newsgroup de.comp.lang.javascript wurde da auch grade drueber disskutiert. Soweit ich mich erinnere stuften die meisten JS zwar als "einfache", aber dennoch als Programmiersprache ein. HTML dagegen wurde als reine Seitenbeschreibungssprache definiert.

    Ich persoenlich muss bloss ein Blick auf Deinen Code werfen und weiss: Da wurde programmiert *g*

    Gruss Joachim

  2. Hallo,

    Ich habe in letzter Zeit öfter gehört, JS ist keine Programmiersprache bzw. wer html lernen kann, kann auch JS problemlos lernen. Das würde ich doch recht gern mal zur Diskussion stellen.

    Ist JS nun eine Programmiersprache oder nicht?

    Wenn ja - warum? Wenn nein - warum nicht?

    Tach auch Antje,

    selbstverständlich ist JS eine Programmiersprache. Meine Definition ist KEINE offizielle, dafür brauchts einen Informatiker, aber eine Programmiersprache ist gekennzeichnet durch die Möglichkeit, Berechnungen durchzuführen und Sprünge innerhalb des Programmcodes durchzuführen.
    Absolut laienhaft, aber nicht komplett falsch, denke ich.
    Was nicht stimmt, ist, das Javascript eine objektorientierte Programmiersprache ist. Javascript imitiert die Eigenarten einer objektorientierten Programmiersprache, ist es aber nicht. Das wird gerne verwechselt, weil Javascript ja ein "Ableger" von Suns Java ist, und Java ist objektorientiert.
    Grundsätzlich kann man sagen, das Javascript ein "klassenloses" Java ist.

    Was HTML und Javascript angeht: HTML ist komplett überhaupt keine Programmiersprache, sondern eine DTD (Document Type Definition) von SGML (structured generalized markup Language). SGML ist eine systemunabhängige Strukturbeschreibung, die einem Inhalt einer Datei ein Formatierungsmerkmal zuweist. Was das entsprechende Ausgabegerät aus dieser Formatierung macht, ist SGML komplett wurscht. Ein SGML-Tag ist zum Beispiel (allerdings in spitzen Klammern):

    (Teigware)Brötchen(/Teigware)

    Wir haben hier dem Inhalt "Brötchen" die Formatierung "Teigware" gegeben. Dieses ASCII-Text kann jetzt von allen Systemen interpretiert werden. Ob nun ein Browser das Wort fett ausgibt, eine Datenbank die Zeile ablegt oder was auch immer ist egal.

    => HTML ist sowas von keine Programmiersprache, daß es brennt :-)

    Meiner Ansicht nach kann man relativ einfach Javascript lernen, allerdings habe ich Vorkenntnisse in BASIC (Da schwelgt man in Erinnerungen), Maschinensprache (auch C64) und Turbo-Pascal. Deshalb ist meine Aussage sehr subjektiv.

    Auf frohes diskutieren,

    Carsti

    1. Hi,

      Ist JS nun eine Programmiersprache oder nicht?

      selbstverständlich ist JS eine Programmiersprache.

      das sehe ich (Informatikstudent *g*) genauso. JavaScript ist sogar eine ObjektOrientierte Sprache und damit ziemlich hoch. Ein gutes Beispiel für Programmierung hast Du schon gegeben: Rekursion (wobei Deine fak2 eigentlich reichte *g*).

      Meine Definition ist KEINE offizielle, dafür brauchts einen Informatiker,

      Wie gesagt, leider nur Student ;-)
      Auf jeden Fall ist die Fähigkeit, Zustände zu speichern und abhängig von diesen zu handeln ein beinahe sicheres Zeichen für eine Programmiersprache. Beinahe, weil "<b>" an sich auch einen Zustand setzt :-) Ich müßte erst mal in die Uni-Bib, um definitiv sagen zu können, wie man eine Sprache definiert, aber ich bin mir sehr sicher, daß JavaScript eine Sprache ist.

      => HTML ist sowas von keine Programmiersprache, daß es brennt :-)

      *rotfl* :-)))

      Meiner Ansicht nach kann man relativ einfach Javascript lernen, allerdings habe ich Vorkenntnisse in BASIC (Da schwelgt man in Erinnerungen), Maschinensprache (auch C64) und Turbo-Pascal. Deshalb ist meine Aussage sehr subjektiv.

      Ach ja, das waren noch Zeiten...
      A9 00    LDA#$00
      Kommen da Erinnerungen wieder auf! *schwelg* :-)

      Cheatah

      1. Hi Cheatah,

        JavaScript ist sogar eine ObjektOrientierte Sprache und damit ziemlich hoch.

        Leider nein. JavaScript hat zwar einen objektorientierten Ansatz, aber zu einer richtigen OOP-Sprache fehlt Einiges, hauptsächlich die Möglichkeit der Vererbung.

        Ach ja, das waren noch Zeiten...
        A9 00    LDA#$00

        ld a,#30 ; Schneider CPC rules ;-)

        Gruß,
        Martin
        (Systementwickler)

        1. Hi Cheatah,

          JavaScript ist sogar eine ObjektOrientierte Sprache und damit ziemlich hoch.

          Leider nein. JavaScript hat zwar einen objektorientierten Ansatz, aber zu einer richtigen OOP-Sprache fehlt Einiges, hauptsächlich die Möglichkeit der Vererbung.

          Ach ja, das waren noch Zeiten...
          A9 00    LDA#$00

          ld a,#30 ; Schneider CPC rules ;-)

          Gruß,
          Martin
          (Systementwickler)

          Hallo Kollegen,
          oder POKE und PEEK unter "good old" MBASIC, damals haben wir damit sogar Code geschrieben, der sich aus einer Datei selbst modifizierte, da wir zuwenig RAM (48K, 64K) hatten um Sachen anders zu loesen, oder wir haben den Video-RAM und die Character-User-Definition-Area (damals von ASCII 128 bis 255) noch als Datenspeicher benutzt, wenn der User mal eben nicht geprompted zu werden brauchte (das gab immer wieder nette screens). Kommentare kannten wir natuerlich nicht (Wofuer denn, die brauchen ja nur Platz). Aber das war vor 1985, als BIG BILL noch small bill war und dafuer DRI (Digital Research Industries) herrschte.
          Gruesse
          Michael N.

          1. Hi,

            oder POKE und PEEK unter "good old" MBASIC, damals haben wir damit sogar Code geschrieben, der sich aus einer Datei selbst modifizierte, da wir zuwenig RAM (48K, 64K) hatten um Sachen anders zu loesen, oder wir haben den Video-RAM und die Character-User-Definition-Area (damals von ASCII 128 bis 255) noch als Datenspeicher benutzt, wenn der User mal eben nicht geprompted zu werden brauchte (das gab immer wieder nette screens). Kommentare kannten wir natuerlich nicht (Wofuer denn, die brauchen ja nur Platz). Aber das war vor 1985, als BIG BILL noch small bill war und dafuer DRI (Digital Research Industries) herrschte.

            Wozu man aber erwähnen sollte, daß 90% von dem, wofür man auf dem C=64 Assembler verwendete, nur nötig war, weil das BASIC (natürlich von Microsoft... schon damals furchtbar...) nur 2% der Kernel-Funktionen ansprechen konnte, und fuuuurchtbar langsam war...

            Ciao,
            Mirko

            1. Hi Mirko,

              jetzt sind wir schon off-topic, dann aber richtig <g>

              Wozu man aber erwähnen sollte, daß 90% von dem, wofür man auf dem C=64 Assembler verwendete, nur nötig war, weil das BASIC (natürlich von Microsoft... schon damals furchtbar...) nur 2% der Kernel-Funktionen ansprechen konnte, und fuuuurchtbar langsam war...

              Das Commodore-BASIC war von MS? Bist du dir da sicher? Meines Wissens waren nur die MSX-Heimcomputer mit einem MS-BASIC ausgestattet.

              Gruß,
              Martin

              1. Meines Wissens waren nur die MSX-Heimcomputer mit einem MS-BASIC ausgestattet.

                Hallo Martin,
                nicht nur die, es gab damals so ein Betriebssystem namens CP/M, welches die Verbreitung im aufkommenden PC-Bereich hatte, die heute M$ hat, dazu gab es einmal ein BASIC von DRI und dann auch noch MBASIC, was spaeter auch das BASIC von DRI verdraengte, da es (obwohl von M$) wesentlich besser und leistungsfaehiger war (groesserer Befehlssatz bei geringerem Speicherbedarf). Vermutlich hatte DRI damals dazu die Lizenz. Und dieses CP/M gab es fuer die unterschiedlichsten Rechner.
                Und, wer dieses alte CP/M noch kennt und sich heute mal auf der schoenen M$DOS-Ebene statt auf der DESKFLOP-Ebene tummmelt wird sehen, das viele M$DOS-Befehle irgendwie an die alten CP/M Befehle erinnern.
                Achtung mit PC-Bereich ist in diesem Posting nicht die auf dem 8086 aufbauende Serie gemeint, sondern die gesamte Familie mit 8080, Z80, 6502 etc..

                Bis dann

                Michael N.

        2. Leider nein. JavaScript hat zwar einen objektorientierten Ansatz, aber zu einer richtigen OOP-Sprache fehlt Einiges, hauptsächlich die Möglichkeit der Vererbung.

          Tja Martin, da muss ich Dir entschieden wiedersprechen. Javascript ist durchaus objektorientiert und selbst Vererbung ist absolut kein Problem. Einfach mal bei Netscape Developers ein wenig schauen und nicht nur bei selfHTML.

          Viele Gruesse, Thomas Hieck

      2. Hallo Cheatah,

        selbstverständlich ist JS eine Programmiersprache.

        das sehe ich (Informatikstudent *g*) genauso. JavaScript ist sogar eine ObjektOrientierte Sprache und damit ziemlich hoch. Ein gutes Beispiel für Programmierung hast Du schon gegeben: Rekursion (wobei Deine fak2 eigentlich reichte *g*).

        Kleine Einschraenkung: Als Hochsprachen werden in der Regel nur diejenigen bezeichnet, die nach einem Compilerlauf ausfuehrbare Dateien erzeugen.

        <fuer Wortklauber>
        Vom Terminus her ist JavaScript (wie es der Name schon sagt) eine (proprietaere w/ only HTML? )Script- und Interpretersprache, die aber durch immer weiteren Ausbau sehr komplexe Ablaeufe abbilden kann. Beim beruehmten "Hello World" wuerde ich nicht von einem Programm sprechen, dagegen kann Antje's Beispiel m.E. sehr wohl als Programm eingestuft werden.
        </fuer Wortklauber>

        Es kommt immer darauf an, was man damit anstellt. Wie man das Kind dann tauft, ist doch eigentlich egal. *g*

        http://fsinfo.cs.uni-sb.de/~prompt/1998.2/semantik.html

        Falls Du in der Uni-Bib suchen willst (scheinst ja ein wissendurstiger Mensch zu sein *g*), ein Tip:
        http://www.uni-paderborn.de/fachbereich/AG/agkastens/gdp/watt_inhalt.html

        Ach ja, das waren noch Zeiten...

        A9 00    LDA#$00
        Kommen da Erinnerungen wieder auf! *schwelg*

        Gott behuete mich davor  *nichtschwelg* :-)

        Gruesse aus Muenchen
        Wilhelm

    2. Das wird gerne verwechselt, weil Javascript ja ein "Ableger" von Suns Java ist, und Java ist >>objektorientiert.

      Das ist schlichtweg falsch! JavaScript hat mit Java genausoviel zu tun wie Basic mit C++. JavaScript wurde von Netscape entwickelt um die Fähigkeiten des NNs zu erweitern, während Java von Sun entwickelt wurde, um eine Plattformunabhängige objektorientierte Programmiersprache zu schaffen
      bye
      Benedikt

      1. Das wird gerne verwechselt, weil Javascript ja ein "Ableger" von Suns Java ist, und Java ist >>objektorientiert.
        Das ist schlichtweg falsch! JavaScript hat mit Java genausoviel zu tun wie Basic mit C++. JavaScript wurde von Netscape entwickelt um die Fähigkeiten des NNs zu erweitern, während Java von Sun entwickelt wurde, um eine Plattformunabhängige objektorientierte Programmiersprache zu schaffen

        Okay, okay, Asche über mein Haupt.

        Ich habe mal nachgesehen; Javascript sollte eigentlich Livescript heißen und wurde aus Marketinggründen in Javascript umbennant.

        Die Aussage "Javascript ist ein klassenloses Java" ist aus der Vorlesung "Systemkomponenten des Medienverbundes - Online Publishing" der Bergischen Gesamthochschule Universität Wuppertal und ist Bestandteil des Skriptes, welches von Dipl.-Inf. Dipl.-Ing. A. Linder stammt.
        Deshalb rücke ich da ein wenig ungern von ab...

        Vielleicht können wir uns drauf einigen, das Javascript klassenlos, aber klasse ist ;-)

        CU,

        Carsti

        1. Vielleicht können wir uns drauf einigen, das Javascript klassenlos, aber klasse ist ;-)

          Des stimmt :))))
          bye
          Benedikt

  3. Hallo,

    Ich habe in letzter Zeit öfter gehört, JS ist keine Programmiersprache bzw. wer html lernen kann, kann auch JS problemlos lernen. Das würde ich doch recht gern mal zur Diskussion stellen.

    Ist JS nun eine Programmiersprache oder nicht?

    Hallo Antje.

    Die Frage wird man wohl - zumindest unter rechtlichen Aspekten - regelmäßig bejahen können. Was die Informatiker dazu sagen, ist deren Sache, da die Definition der Fachbereich nicht zwingend gleich sein muß.

    1. Ein Computerprogramm wird als " eine ablauffähige Folge von Einzelanweisungen, die dazu dient, den Computer zur Ausführung einer bestimmten Funktion zu veranlassen" definiert.

    Hierzu ist ECMA-262 wie man es in Fachkreisen richtigerweise betiteln sollte Norm geworden.
    ("Javascript" hat im übrigen _gar nichts_ mit JAVA zu tun, sondern ist lediglich eine zwischen Netscape und SUN ausgetüffteltes marketing-Konzept. SUN hat für Deutschland den Markennamen markenrechtlich registriert (395492653) und Netscape ist insofern Lizenznehmerin mit eigener Technologie, aber das nur am Rande ....)
    ECMA-262 ist eindeutig Computerprogrammsprache.

    Um allerdings in den Genuß von urheberrechtlichen Schutzrechten gem. §§ 69a ff. UrhG < http://transpatent.com/gesetze/urhg11.html#AI8> zu kommen, reicht ein "document.write('Hello world'); nicht aus .....

    Unter rechtlichen Aspekten ist die Frage allerdings deswegen sehr interessant, weil es den < http://transpatent.com/gesetze/urhg11.html#69b> gibt.

    Denn grundsätzlich bedarf es im Urheberrecht, um die in dieser Norm ausgedrückte Rechtsfolge zu erreichen, eine privat-rechtliche Abrede, sprich: Ohne besondere Vereinbarung verbleiben urheberrechtliche Verwertungsrechte, bis auf die notwendig eingeräumten (Zweckübertragungstheorie § 31 Abs.5 UrhG < http://transpatent.com/gesetze/urhg1.html#31> ), grundsätzlich beim Urheber; nicht so, wenn man für seinen Auftraggeber ohne weitere Vereinbarungen programmiert, da tritt dann die gesetzliche Regelung ein, die sehr dienstherren-, bzw. auftraggeberfreundlich ist.

    2. HTML ist imo kein Computerprogramm. Darüber scheiden sich aber die Geister, vgl. die Diskussion in der netlaw-l < http://www.listserv.gmd.de/htbin/wa.exe?S2=netlaw-l&q=&s=+HTML+&f=&a=&b=>
    HTML hat eher was von einer Datenbank, bzw. Sammlung, da es durch eine Auswahl an Strukturelementen einem Autor die Möglichkeit gibt Inhalte bzw. fast alle Multimediaobjekte strukturiert zu sammeln ....

    Soweit meine kurze Betrachtung

    Grüße aus Bonn
    Boris

  4. Meiner Meinung nach ist JavaScript keine Programmiersprache. Sondern eine Scriptsprache. Darum ja auch der Name.
    Dies kommt daher, daß Javascript letztendlich dem Browser sagt, was er zu tun hat. Und dieses Script wird dann nach und nach vom Browser abgearbeitet.
    Des weiteren sind JavaScripts nicht selbständig lauffähig (sie sagen ja nur dem Browser, was er zu tun hat), währen ich mit einer richtigen Programmiersprache noch nicht einmal ein Betriebssystem benötige, da ich mir die nötige Umgebung selbst erschaffen kann. Dies geht mit JavaScript nicht.
    Wenn JavaScript eine Programmiersprache wäre, dann wären auch die Scripts, die man teilweise für einige JavaApplets (z.B. von LED) schreiben muß eine Programmiersprache, denn auch dort werden die Anweisungen schrittweise abgearbeitet.
    Zugegebenermaßen ist JavaScript eine sehr mächtige Scriptsprache, aber an die richtige Sprachen kommt es doch nicht heran. Ich glaube sogar Basic ist leistungsfähiger als Javascript

    Boris hat die Definition eines Programms übrigens aufgeführt, allerdings falsch interpretiert:
    "1. Ein Computerprogramm wird als " eine ablauffähige Folge von Einzelanweisungen, die dazu
    dient, den Computer zur Ausführung einer bestimmten Funktion zu veranlassen" definiert. "

    Bei JavaScript wird jedoch nicht der Computer veranlasst etwas zu tun sondern Netscape und das ist ein Unterschied
    bye
    Benedikt

    1. Boris hat die Definition eines Programms übrigens aufgeführt, allerdings falsch interpretiert:
      "1. Ein Computerprogramm wird als " eine ablauffähige Folge von Einzelanweisungen, die dazu
      dient, den Computer zur Ausführung einer bestimmten Funktion zu veranlassen" definiert. "

      Bei JavaScript wird jedoch nicht der Computer veranlasst etwas zu tun sondern Netscape und das ist ein Unterschied

      .... aber letztlich nur eine Frage einer Mittelbarkeit, da der Browser ein Script Kompiler-Modul beinhaltet und aufgrund dessen den Computer zur Ablaufsteuerung anspricht. Ich bleibe bei meiner Meinung.

      Die von mir zitierte Definition des Computerprogramms stammt aus dem Jahr 1993 (Lesshaft/Ulmr CR 1993, 607, 608), das muß man sehen. Unterdessen haben sich noch einige Hochsprachen entwickelt, die sicherlich auch Veranlassung für eine Gesetzesänderung, bzw. -modifikation sein könnten, da man ggf. weiter unterscheiden muß, das aber ist eine rechtspolitische Frage.
      Fakt ist, daß derzeit rechtlich nur zwei Möglichkeiten bestehen : Entweder Computerprogramm oder Sprachwerk.

      Und Computerprogramm ist da näherliegend ....:

      §69a UrhG:
      "Computerprogramme im Sinne dieses Gesetzes sind Programme in jeder Gestalt, einschließlich des Entwurfsmaterials"

      Da reicht es bereits aus, daß eine funktionale Ablaufsteuerung möglich ist. Das kann ECMA-262 Script  
      locker leisten......

      Im übrigen erlaube ich mir den Hinweis auf
      < http://www.microsoft.com/MANAGEMENT/wshlegal.htm>
      < http://www.microsoft.com/MANAGEMENT/wshobj.htm>
      < http://www.microsoft.com/NTServer/management/Techdetails/TechSpecs/WSH.asp>

      "Using Windows Scripting Host to Automate Common Tasks and Create Macros

      The Microsoft® Windows Scripting Host (WSH) allows you to run Visual Basic Scripting Edition and JScript natively within the base operating system, either on Windows® 95, Windows 98 or Windows NT 4.0. Using the scripting languages you already know, you can now write script to automate common tasks and create powerful macros and logon scripts."

      Nochmal: Das reicht dicke aus, um als Computerprogramm im urheberrechtlichen Sinne durchzugehen.

      CU Boris

      bye
      Benedikt

      1. .... aber letztlich nur eine Frage einer Mittelbarkeit, da der Browser ein Script Kompiler-Modul beinhaltet und aufgrund dessen den Computer zur Ablaufsteuerung anspricht. Ich bleibe bei meiner Meinung.

        Ein Script wird aber nicht compiliert sondern Schritt für Schrit abgearbeitet. Außerdem bezeichnet Netscape Javascript als "object-based scripting language". Es ist also eine Script- und keine Programmiersprache. Und das ist es ja auch. Es sind halt nur Scripts
        bye
        Benedikt

        1. Hi!

          Ein Script wird aber nicht compiliert sondern Schritt für Schrit abgearbeitet. Außerdem bezeichnet Netscape Javascript als "object-based scripting language". Es ist also eine Script- und keine Programmiersprache. Und das ist es ja auch. Es sind halt nur Scripts

          Hmm... ist dann BASIC auch eine Scriptsprache?
          Und was ist, wenn ich ein BASIC-Programm kompiliere (das ging auch auf dem C64!)? Wird dann die Script- zur Programmiersprache?
          Und was ist z.B. mit Shell-Scripts unter Unix?

          Was die Frage der Mittelbarkeit anbetrifft: (Fast?) jedes Windows-Programm gibt keine Anweisungen an den Computer, sondern an Windows - sind's etwa doch keine Programme?

          Ciao,
          Mirko

          1. Was die Frage der Mittelbarkeit anbetrifft: (Fast?) jedes Windows-Programm gibt keine Anweisungen an den Computer, sondern an Windows - sind's etwa doch keine Programme?

            Aber die meisten dieser Programme wurden in einer Sprache geschrieben, mit der ich auch ein Betriebssystem schreiben kann. Das ist der Unterschied zu JavaScript
            bye
            Benedikt

            1. Aber die meisten dieser Programme wurden in einer Sprache geschrieben, mit der ich auch ein Betriebssystem schreiben kann. Das ist der Unterschied zu JavaScript

              Ist etwa nur eine Programmiersprache, was dazu fähig ist, ein Betriebssystem zu schreiben?
              Dann wären ja nur C, C++, Pascal und Assembler und ein paar Exoten Programmiersprachen, während (Visual) Basic, COBOL, (PL/)SQL, Delphi, Java, ... keine wären!
              Überhaupt wären alle 4GL-Sprachen keine Programmiersprachen...
              (Hmm... Moment... wäre Java dann eine, wenn sich die Java-Prozessoren von Sun durchgesetzt hätten?)

              Ciao,
              Mirko

      2. Hallo Boris

        .... aber letztlich nur eine Frage einer Mittelbarkeit, da der Browser ein Script Kompiler-Modul beinhaltet und aufgrund dessen den Computer zur Ablaufsteuerung anspricht. Ich bleibe bei meiner Meinung.

        Das Problem sehe ich weniger darin, ob man JavaScript als Programmiersprache betrachten muss oder kann. Zweifellos funktioniert JavaScript genauso wie eine Programmiersprache und hat ja auch die typischen Grundelemente wie Kontrollstrukturen, Variablen, prozeduralem Abarbeiten der Befehle usw. JavaScript ist aber im Gegensatz zu bekannten Hochsprachen absolut abhaengig von einer bestimmten Umgebung, naemlich einer aktuell angezeigten Web-Seite. Die Frage muesste man also dahingehend erweitern, ob eine Web-Seite ein Programm ist oder nur ein Dokument. Reines HTML spricht eher dafuer, von einem Dokument zu sprechen, viel DHTML mit JavaScript eher dafuer, das Ganze als Programm zu bezeichnen. Wenn dem aber so ist, wo genau ist dann die Grenze? Schliesslich gibt es auch noch andere verzwackte Mischlinge, z.B. eine ziemlich belanglose HTML-Seite, in der aber ein Java-Applet fuer Online-Banking eingebaut ist. Ist das Ganze dann ein Programm (wegen Java) oder ein Dokument (wegen HTML)?

        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?

        viele Gruesse
          Stefan Muenz

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

          1. Hallo Andreas

            Ich hatte "damals" (Nebenfach Informatik...) mal was von sog. "Turing-Maschinen" gehört.

            Ich glaube, mit deinen Ausfuehrungen hast du die Idee einer echten Kult-Web-Seite geboren. Eine Seite, die eine richtige Turing-Maschine mit JavaScript visualisiert (am besten mit Dampfkessel und so), und mit interaktivem Interface <g>, so dass der User die Maschine selber gemaess des von dir geschilderten Schemas programmieren kann, z.B. ueber Formulareingaben.

            viele Gruesse
              Stefan Muenz

            1. Hallo Stefan,

              Ich glaube, mit deinen Ausfuehrungen hast du die Idee einer echten Kult-Web-Seite geboren. Eine Seite, die eine richtige Turing-Maschine mit JavaScript visualisiert (am besten mit Dampfkessel und so), und mit interaktivem Interface <g>, so dass der User die Maschine selber gemaess des von dir geschilderten Schemas programmieren kann, z.B. ueber Formulareingaben.

              ein netter see im august, ein steg, ein (oder mehrere) kasten bier, viel papier und ne menge ideen (egal ob real oder wahnwitzig :-) )
              das kann ja heiter werden!! ich freue mich!

              Gruesse
              Wilhelm

              PS: was mich interessiert: wofuer zum teufel braucht man den dampfkessel?

              1. Hi Wilhelm!

                PS: was mich interessiert: wofuer zum teufel braucht man den dampfkessel?

                Um die Turing-Maschine zu *booten*, braucht man ja bekanntlich einen kochenden Wasserkessel mit viel Druck (scnr) ;-)))

                Viele Grüße

                Andreas

              2. Hallo Wilhelm!

                PS: was mich interessiert: wofuer zum teufel braucht man den dampfkessel?

                Das sieht gut aus.

                Grüße
                Thomas

          2. Hallo Andreas,

            und volles Rohr zur KI :-)
            der Link dazu
            http://www.informatik.hu-berlin.de/lehrstuehle/automaten/logik/node74.html

            siehe auch: Turing-Test

            Ein Computer ist dann intelligent, wenn er Aufgaben so bewältigt, daß ein Mensch dies als intelligente Leistung bewertet. Computer selber verhalten sich aber nur in Abhängigkeit von ihrer Programmierung.

            Unter der Prämisse, daß Menschen sich selbst intelligent verhalten, ist ein Computerprogramm dann intelligent, wenn es sich wie ein Mensch verhält, also sein Verhalten von dem eines Menschen nicht unterscheidbar ist.

            Dieses Kriterium wählte Alan M. Turing für den nach ihm benannten Test, der denkbar einfach ist. Ein Experte muß entscheiden, ob eine bestimmte Leistung von einem Computer oder einem Menschen erbracht wurde. Kann er dies nicht, so besitzt der Computer diese geistige Fähigkeit ebenso wie der Mensch.

            von Andrea Kiesel:
            "Künstliche Intelligenz« »Konnektionistische Modelle«"
            http://www.fulgura.de/turing.htm

            Gruesse
            Wilhelm

            1. Und was ist Intelligenz? :)
              bye
              Benedikt

              1. Hallo Benedikt

                Und was ist Intelligenz? :)

                Etwas, das in der Lage ist, zwischen kuenstlich und natuerlich zu unterscheiden ;-)

                viele Gruesse
                  Stefan Muenz

                1. Etwas, das in der Lage ist, zwischen kuenstlich und natuerlich zu unterscheiden ;-)

                  Und was ist, wenn das eines Tages nicht mehr möglich sein wird? :)
                  bye
                  Benedikt

                  1. Hallo Benedikt

                    Etwas, das in der Lage ist, zwischen kuenstlich und natuerlich zu unterscheiden ;-)

                    Und was ist, wenn das eines Tages nicht mehr möglich sein wird? :)

                    Dann wird JavaScript die Weltherrschaft uebernommen haben ;-)

                    viele Gruesse
                      Stefan Muenz

                    1. Dann wird JavaScript die Weltherrschaft uebernommen haben ;-)

                      Oh cool....endlich mal ein Lichtblick :)
                      bye
                      Benedikt

            2. Hallo Wilhelm!

              siehe auch: Turing-Test

              Ein Computer ist dann intelligent, wenn er Aufgaben so bewältigt, daß ein Mensch dies als intelligente Leistung bewertet. Computer selber verhalten sich aber nur in Abhängigkeit von ihrer Programmierung.

              ...das ist wohl war - menschliche Kommunikation läßt sich nicht durch einen Algorithmus beschreiben. Die von mir angedeutete "Turing-Maschine", hat deswegen - außer dem Namen - nix mit dem "Turing-Test" tun... Es ging mir ja um algorithmische Probleme, also Aufgaben, die mit einem fest vorgegebenen Ablaufplan bewältigt werden können. Die entsprechende Definition in Boris' Posting trifft das z.B. auch ziemlich gut.

              Die Argumentation war ja...

              a) Eine Turing-Maschine kann theoretisch
                 jedes algorithmische Problem lösen, was
                 wohl mal bewiesen wurde, und wobei auf
                 den Programmieraufwand bzw. Rechenzeit
                 der Turing-Maschine keine
                 Rücksicht genommen wird.
              b) Wenn man mit irgendeiner anderen Programmier-
                 oder Sonstwas-Sprache eine Turingmaschine
                 nachprogrammieren kann, kann man folglich
                 auch mit der anderen Programmiersprache
                 alle algorithmischen Probleme bearbeiten.

              Dabei reicht es aus, wenn das "andere" Programm eine Turing-Maschine nur innerlich nachsimuliert und am Ende lediglich das Ergebnis ausspuckt. Auf die Darstellung kommt es dabei nicht an (nur - das Endergebnis sollte man schon ablesen können, sonst wird es allzu platonisch *g*).

              Ich wollte letztendlich nur ein Kriterium aufzeigen, wie man zwischen Programmier- und sonstigen Computer-Sprachen die Grenze ziehen könnte.

              Viele Grüße

              Andreas

              P.S.: Gibt es eigentlich schon irgendwo HTML-Seiten mit einer JavaScript-gesteuerten Turing-Maschine? Würde mich jedenfalls interessieren, ansonsten wäre das ja auch mal eine interessante "Übung" :-))

            3. Hallo Wilhelm!

              Ein Computer ist dann intelligent, wenn er Aufgaben so bewältigt, daß ein Mensch dies als intelligente Leistung bewertet. Computer selber verhalten sich aber nur in Abhängigkeit von ihrer Programmierung.

              »»

              Unter der Prämisse, daß Menschen sich selbst intelligent verhalten, ist ein Computerprogramm dann intelligent, wenn es sich wie ein Mensch verhält, also sein Verhalten von dem eines Menschen nicht unterscheidbar ist.

              Wenn das jetzt nich in die Kybernetik abgedriftet ist!?

              Da fällt mir nur das Buch vom Gotthard Günther ein "Das Bewusstsein der Maschinen"
              Auch wenn das Buch 1957/63 erschien, die Thesen wirken besonders heute, in der Gesellschaft der Informationen, aktueller denn je.
              Wer bestreitet noch heute, daß die maschinelle Intelligenz den Leistungen des menschlichen Bewusstseins überlegen sein kann? Da werden wir unsere alten Denkgewohnheiten gründlich überarbeiten müssen. Man darf heute nicht mehr annehmen, daß Informations- respektive Kommunikationsprozeß in das Gebiet der geistigen  Phänomene gehöre. Bedenke man nur die unglaubliche Menge an Information die bereits ohne menschliches Zutun produziert, veritergeleitet, verarbeitet und ausgewertet wird.
              Darum geht es ja auch in der Kybernetik (für alle denen Kybernetik bis jetzt mit Sci-fi und Startreek zu tun hatte ;-) : Kybernetik ist die Theorie von der Aufnahme, Verarbeitung und Übertragung von Information der verschiedensten Art.[von Nervenimpulsen bis hin zu Meßwerten])

              Die Frage des 'mechanical brains' ist kein Begriff von heute, aber man kann sagen, daß die Menschen immer näher an dessen Verwirklichung kommen. Ob das jetzt eine Progrmiersprache oder eine Scriptsprache ist, die diese Maschinen (brains) sprechen spielt keine Rolle. Wie Norbert Wiener es sagte:'Information is information, not matter or energy.'

              Bevor ich aber weiter abdrife, höre ich auf.

              Grüße
              Thomas

        2. [ ...]
          Die Frage muesste man also dahingehend erweitern, ob eine Web-Seite ein Programm ist oder nur ein Dokument. Reines HTML spricht eher dafuer, von einem Dokument zu sprechen, viel DHTML mit JavaScript eher dafuer, das Ganze als Programm zu bezeichnen. Wenn dem aber so ist, wo genau ist dann die Grenze? Schliesslich gibt es auch noch andere verzwackte Mischlinge, z.B. eine ziemlich belanglose HTML-Seite, in der aber ein Java-Applet fuer Online-Banking eingebaut ist. Ist das Ganze dann ein Programm (wegen Java) oder ein Dokument (wegen HTML)?

          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?

          viele Gruesse
            Stefan Muenz

          Deine Fragen sind natürlich die, über man sich schon den Kopf zerbrechen kann.

          Oftmals werden solche Sachverhalte elegant über das UWG (Gesetzt gegen den unlauteren Wettbewerb) gelöst, so daß solche urheberechtlichen Fragen nicht beantwortet werden müssen.
          Oder man löst die Problem eben über §§ 87a ff. UrhG (entstanden aus der Datenbankrichtlinie der EU )

          Grundsätzlich wird man aber sagen können, daß die von HTML Elementen eingebundenen Werkteile dann selbstständigen Schutz genießen, wenn sie für sich alleine schon eine Urheber- oder urheberrechtliches Leistungsschutzrecht reklamieren können:

          Beispiel:
          <html>
          <img src="urheberrechtlich-relevantes.gif" />
          </html>

          Gibt kein Recht aus dem HTML (weil keine über dem Durchschnitt liegende schöpferische Gestaltung, hat man mehrere Referenzadressen für u.a. gifs oder auch Verweisen gesammelt, kommt Schutz des HTML unter dem Gesichtspunkt eines Sammelwerkes, bzw. Datenbankwerkes in Betracht - § 4 UrhG)

          Der download des gif files allerdings ist urheberechtlich relevant, wobei der Rechteinhaber natürlich sein (konkludentes) Einverständnis zur Speicherung im Cache gegeben hat. Ein weiteres Speichern ist im Rahmen der gesetzlichen Schranken des UrhG  §§ 45 ff. UrhG, insbesondere gem. § 53 UrhG
          natürlich zulässig. Diese Regeln gelten aber wiederum nicht für Computerprogramme, das macht die Sache eben so brisant. Da kann man dann vorsichtig über eine schlüssige Einwilligung des Anbieters nachdenken ......

          Jetzt muß man aber natürlich sagen, daß das Urheberrecht schon eine bestimmte Schöpfungshöhe auch bei Programmen fordert, damit der Schutz ausgelöst wird. Mit einer while Schleife, die ein paar Zeilen Text generiert oder so kommt man da nicht hin, aber bei manchen DHTML Sachen schon. Und da fangen dann die Probleme an .......
          Ist aber eben alles noch nicht entschieden ....

          Nicht erschöpfender Versuch in einer Kurzformel zusammenzufassen:

          HTML Dateie(n) ist/sind modernes (elektronisches) Poesiealbum (Sammelwerk, Datenbank), dessen Seiten (HTML-Elemente) verschiedenste Objekte ansammeln.
          Diese Objekte ((Lauf-)Bilder, technische Zeichnungen, Texte, Musikstücke, Tabellen, Programme usw. ) können als einzelnes oder in ihrer (Teil-)Gesamtheit als Werkteile Urheber- oder Leisutngsschutz genießen, ggf. insagesamt Schutzrechte des Datenbankherstellers begründen (§§87a ff. UrhG).

          That's Multimedia ... ;), wie der Name eben sagt ....

          Soweit & Grüße aus Bonn
          Boris

  5. Hi Antje und alle andern. Vor allem auch Benedikt.

    Natuerlich ist Javascript eine Programmiersprache. Dazu noch eine verdammt moderne, da objektorientiert und seit einiger Zeit sogar inkl. Vererbung! Clientseitig ist sie innerhalb der Programmiersprachen den Scriptsprachen zuzuordnen, waehrend sie serverseitig eine Compilersprache ist.

    Viele Gruesse, Thomas Hieck

    P.S. Bendikt: eine Scriptsprachen sind nur eine Teilmenge der Programmiersprachen

    1. P.S. Bendikt: eine Scriptsprachen sind nur eine Teilmenge der Programmiersprachen

      Aber man kann eine Scriptsprache wohl schlecht als "richtige" Progammiersprache bezeichnen und schon gar nicht mit Hochsprachen wie C++ oder Java vergleichen. Und wie schon gesagt Netscape selbst bezeichnet JavaScript als :"object-based scripting language"
      Und wenn man den Begriff "Programmiersprachen" soweit fasst, dann bediene ich sogar meine Kaffeemaschine mittels einer Programmiersprache.....ich gebe Befehle ein und die Maschine arbeitet sie ab.
      bye
      Benedikt

      P.S.: Das sie serverseitig compiliert wird wußte ich nicht. Also ist ein Script auch selbstandig lauffähig oder wie?

      1. Hallo (nun zum letzten...)!

        Und wenn man den Begriff "Programmiersprachen" soweit fasst, dann bediene ich sogar meine Kaffeemaschine mittels einer Programmiersprache.....ich gebe Befehle ein und die Maschine arbeitet sie ab.

        Das funktioniert eben gerade nicht - eine Kaffeemaschine kann keine Turingmaschine nachbilden!

        Viele Grüße

        Andreas

        1. Hallo!

          Und wenn man den Begriff "Programmiersprachen" soweit fasst, dann bediene ich sogar meine Kaffeemaschine mittels einer Programmiersprache.....ich gebe Befehle ein und die Maschine arbeitet sie ab.
          Das funktioniert eben gerade nicht - eine Kaffeemaschine kann keine Turingmaschine nachbilden!

          Hmm... das ist wieder ein Grenzbereich...
          Es gibt ja z.B. Taschenrechner, die ein "Basic light" implementiert haben. Im Prinzip würde ich das schon als Programmiersprache sehen, aber ob sie deine Turingmaschine nachbilden können, wage ich anzuzweifeln...
          Oder was ist z.B. mit den guten alten DOS-Batchdateien: meiner Meinung nach eigentlich eine Scriptsprache - aber sie kann nicht mal 1 und 1 zusammenzählen...

          Ciao,
          Mirko

        2. Das funktioniert eben gerade nicht - eine Kaffeemaschine kann keine Turingmaschine nachbilden!

          Da wäre ich mir nicht so sicher. Wenn man für die Kaffeemaschine ein entsprechendes Betriebssystem schreiben würde *g*
          bye
          Benedikt

      2. Aber man kann eine Scriptsprache wohl schlecht als "richtige" Progammiersprache bezeichnen und schon gar nicht mit Hochsprachen wie C++ oder Java vergleichen.

        Sorry Benedikt, aber darueber muessen wir nichtmehr diskutieren ... das ist so! Und eine Scriptsprache ist nicht schlechter oder "weniger richtig" als eine Compilersprache - es ist nur eine andere Art mit Vor- und Nachteilen.

        Thomas Hieck

        1. Sorry Benedikt, aber darueber muessen wir nichtmehr diskutieren ... das ist so! Und eine Scriptsprache ist nicht schlechter oder "weniger richtig" als eine Compilersprache - es ist nur eine andere Art mit Vor- und Nachteilen.

          Aber der Unterschied zwischen Scriptsprachen und Programmiersprachen ist da. Gut, ich gebe zu, daß der Unterschied sehr fließend ist und man ihn wohl auch kaum noch ausmachen kann. Aber für mich persönlich ist er nunmal vorhanden. Und ich habe auch nicht gesagt, daß eine Scriptsprache unbedingt schlechter ist (bloß die Möglichkeiten sind meistens etwas beschränkt). Sie ist für das, was sie tun soll, konzipiert worden und in diesem Bereich einer Programmiersprache überlegen, da es mit ihr viel einfacher und schneller geht
          bye
          Benedikt

  6. Ist JS nun eine Programmiersprache oder nicht?

    Wenn ja - warum? Wenn nein - warum nicht?

    Meine Ansicht

    Bislang wurde ja zu diesem Thema fleißig diskutiert und die Vielfältigkeit der Meinungen brachte mich dazu, meine Hefter vom Boden zu holen, insbesondere den zur Theorie der Programmiersprachen (Hätte nie gedacht, daß ich da nochmal und dazu freiwillig reinsehe. <g>).

    Ich habe also versucht, mal alles, was da so stand auf JS zu übertragen, korrigiert mich bitte, falls ich falsch liege:

    Def: Programmiersprachen sind Werkzeuge zur systematischen formalen Beschreibung endlicher Berechnungen. - so gesehen gehört JS dazu.

    Voraussetzung für Programmiersprachen auf den Rechner sind Sprachverarbeitungssysteme für die Übersetzung und Ausführung auf den Rechner. - das wären dann für JS die konkrete HTML-Seite und der browserinterne Interpreter

    Interpreter folgen der logischen Struktur eines Programmes, übersetzen dieses und führen es aus.

    • passiert auch bei JS

    Ich persönlich würde JS den funktionalen Programmiersprachen zuordnen. Kennzeichen einer solchen Sprache sind u.a.: Sie besitzen einen Vorrat an Grundfunktionen, die sofort nach Programmstart, dem Benutzer zur Verfügung stehen. - hat JS und zwar eine Menge
    Nutzerdefinierte Funktionen sind möglich - die programmieren in JS ja alle selbst

    Verkettung von Funktionen und Rekursion sind auch möglich. - siehe meine Beispiele

    Nach meinen Aufzeichnungen aus der Theorie müßte man JS sogar zu den höheren Programmiersprachen zählen, da es problemorientiert arbeitet. Aber ich werde mich hüten, mich darauf festzulegen. :-)

    Kurz noch eine Bemerkung zu Benedikt: Warum mißt du die Wertigkeit einer Programmiersprache an die Erstellung eines dauerhaften ausführbaren Programmes? Eine ausführbare Datei muß nicht notwendigerweise auf jedem Betriebssystem laufen.
    Die Interpreterlösung von JS ist so gesehen genial, weil damit ein Programm in den verschiedensten Systemen laufen kann.

    So und nun seid so nett und nehmt meine Gedanken auseinander. Habe ich irgendwo Denkfehler, würde ich sie gerne korrigiert wissen.

    Viele Grüße

    Antje

    1. Kurz noch eine Bemerkung zu Benedikt: Warum mißt du die Wertigkeit einer Programmiersprache an die Erstellung eines dauerhaften ausführbaren Programmes? Eine ausführbare Datei muß nicht notwendigerweise auf jedem Betriebssystem laufen.
      Die Interpreterlösung von JS ist so gesehen genial, weil damit ein Programm in den verschiedensten Systemen laufen kann.

      Irgendwie muß man es ja messen. Und ich ordne JavaScript nun mal den Scriptsprachen zu, da es nur innerhalb einer festen Umgebung (in diesem Fall ein Browser) läuft (jedenfalls Client-seitig). Jetzt kann man sicherlich sagen, daß auch die anderen Sprachen in einer festen Umgebung laufen, nämlich dem Rechner, aber das ist Hardware und keine Software, die von einer Software eigenen Programmiersprache gesteuert werden kann.
      Letztendlich bietet JavaScript ja eine Menge Möglichkeiten, aber im Gegensatzt zu anderen Sprachen sind diese halt doch noch recht bescheiden, da man den Rechner eben nicht direkt ansprechen kann, wie es z.B. bei Assembler der Fall ist. Wie wärs damit: Javascript ist eine Proscrisprache? Aber ursprünglich war JavaScript oder auch LiveScript eine Scriptsprache, die mittlerweile sehr mächtig geworden ist, der aber immer noch einige Sachen fehlen, aber das ist ja immer so. Man ist nie mit dem zufrieden, was man hat ;)
      bye
      Benedikt

      P.S.:>>ausführbare Datei muß nicht notwendigerweise auf jedem Betriebssystem laufen.
      es kommt nur darauf an, auf welchem System ich sie compiliere. Außerdem sind alle Anwendungen Betriebssystem abhängig. (von Java mal abgesehn, aber das benötigt ja auch ne virtual machine)
      P.P.S.: Ich muß zugeben, daß ich mir mittlerweile nicht mehr 100%ig sicher bin, ob JavaScript wirklich "nur" eine Scriptsprache ist, denn letztendlich kann man fast alles, was auf die Hochsprachen zutrifft irgendwie auch auf JavaScript übertragen.

    2. Kurz noch eine Bemerkung zu Benedikt: Warum mißt du die Wertigkeit einer Programmiersprache an die Erstellung eines dauerhaften ausführbaren Programmes? Eine ausführbare Datei muß nicht notwendigerweise auf jedem Betriebssystem laufen.
      Die Interpreterlösung von JS ist so gesehen genial, weil damit ein Programm in den verschiedensten Systemen laufen kann.

      Ich finde, die Eigenschaft einer Sprache, interpretiert zu werden, darf keinen Einfluß auf ihren Charakter haben.
      Nehmen wir an, C sei eine Programmiersprache (aufgrund ihrer Definition gemäß den beschriebenen Normen etc.). Wenn ich nun einen Interpreter dafür schreiben würde, verliert C dadurch meiner Meinung nach nicht seine Eigenschaft, eine Programmiersprache zu sein.

      Umgekehrt würde es reichen, zu *beweisen*, daß man einen JavaScript-Compiler schreiben *kann*, um JavaScript als Programmiersprache zu klassifizieren, wenn jemand dies so verlangen würde. Es muß diesen Compiler nicht bereits geben.
      Und wenn ich beweisen kann, daß JavaScript eine Teilmenge einer existierenden Sprache ist, zu der es bereits einen Compiler gibt, sollte der Beweis des machbaren Compilers erledigt sein. (Reicht JAVA als Obermenge?)

      Auch die Einschränkung, daß eine Sprache nur in einer bestimmten Umgebung interpretierbar ist, darf eigentlich nicht gelten. Das gilt nämlich für die meisten Sprachen. Wenn ich bei der Programmiersprache C die Dateischnittstelle mit dazu zähle, dann "funktioniert" diese nur in Abhängigkeit von den Gegebenheiten des Betriebssystems (Pfad-Separatoren etc.).

      Meines Wissens werden auch Sprachen als Programmiersprachen (der 4. Generation etc.) bezeichnet, die sich erheblich weiter von unserem common sense entfernen als JavaScript (das ja immerhin Funktionen und Kontrollstrukturen besitzt). Wie ist es denn mit SQL? Oder mit Prolog?
      Meiner Meinung nach ist JavaScript eine ganz normale algorithmische Programmiersprache (3GL), während beispielsweise SQL oder Prolog das nicht sind (da schreibt man nicht mehr den Algorithmus hin, sondern die Eigenschaften des Ergebnisses).

      Frage zum Schluß: Ist nicht letztlich die CPU auch nur ein "Interpreter" ihrer Maschinensprache?
      Und warum sollte die Grenze zwischen Hard- und Software liegen, wenn es Emulatoren einer Hardware auf einer anderen Hardware gibt?

  7. Hallo, alle!

    Ist ja eine durchaus nicht unspannende Diskussion. Aber von welchem - außer akademischen - Interesse soll den die Beantwortung dieser Frage sein ?!
    Läuft da irdenwie 'ne Wette, oder so ?!

    mfg
    -joerg

    1. Hallo, alle!

      Ist ja eine durchaus nicht unspannende Diskussion. Aber von welchem - außer akademischen - Interesse soll den die Beantwortung dieser Frage sein ?!
      Läuft da irdenwie 'ne Wette, oder so ?!

      mfg
      -joerg

      Hallo Joerg,

      ich habe dieses Thema zur Diskussion gebracht, weil es mich interessiert und der Resonanz nach sicher auch andere.
      Bis lang half mir dieser Thread endlich Zusammenhänge als Ganzes zu verstehen. Ich halte es durchaus für sinnvoll sich mit theoretischen Grundlagen zu beschäftigen. Die gehören zum Verstehen einfach mit dazu.

      Ehrlich Jörg, lieber besser wäre es gewesen, wenn du einen ordentlichen Beitrag geliefert hättest oder wenn du etwas nichts verstehst nachgefragt hättest.
      Das hätte jeden weiter gebracht.

      Viele Grüße

      Antje

    2. Hallo joerg,

      Ist ja eine durchaus nicht unspannende Diskussion. Aber von welchem - außer akademischen - Interesse soll den die Beantwortung dieser Frage sein ?!
      Läuft da irdenwie 'ne Wette, oder so ?!

      es mag ja sein, das in der Zeit von Cut&Paste das Beduerfnis nach den theoretischen Hintergruenden abhanden gekommen ist. ;-)

      Aber wenn man die Einlassungen von Boris liest, ergibt sich natuerlich die Frage nach Urheberrechten. Ich gebe zu, von dieser Seite habe ich Javascript nocht nicht betrachtet, und das wird wohl etlichen Leuten so gegangen sein.
      Also ist diese Diskussion (fuer mich zumindest) nicht so abwegig, wie Du es darstellst.

      Gruesse
      Wilhelm

    3. Ist ja eine durchaus nicht unspannende Diskussion. Aber von welchem - außer akademischen - Interesse soll den die Beantwortung dieser Frage sein ?!
      Läuft da irdenwie 'ne Wette, oder so ?!

      Reicht ein akademisches Interesse denn nicht aus? Welchen besseren Grund könnte es für eine Diskussion denn geben?
      bye
      Benedikt