Raik: Definition für Programmiersprache - was ist eine, was nicht ?

Beitrag lesen

Es hindert Dich niemand daran, den JavaScript-Interpreter eines beliebigen OpenSource-Browsers (z.B. Mozilla oder Konqueror) so zu erweitern, dass dieser auch vordefinierte Objekte zum Zugriff auf die Hardware bietet.

die frage ist nicht, ob du den interpreter um solche funktionen erweiterst und für dich selber eine proprietäre version von javascript ("andreas-script"?) erfindest, sondern ob die script-datei an sich zu irgendwelchen handlungen fähig ist.
wenn wir darüber reden, ob javascript eine programiersprache ist, dann reden wir von dem, was das w3c als syntax für javascript festgelegt hat und nicht von "andreas-script".

In Brainfuck gibt es auch keinerlei Syntax, auf die Hardware zuzugreifen.

doch, du kannst direkt hexadezimal-code schreiben und darüber alles anstellen, was du willst. ich besuch dich dann in 90 jahren im altersheim, zum ersten release deines, in brainfuck erstellten cd-brenn-programmes ;-)

Dennoch kann ich mit PHP direkt auf die Hardware zugreifen.

nein, kann php nicht. php enthält nur anweisungen für ein, maschinenlesbaren code enthaltendes programm, welches solches tun kann. ohne interpreter ist eine php-datei ein besch*** stück buchstabensalat.

und wärend man in javascript allenfalls eine verschlüsselung des quellcodes einbaut, um das "stehlen" mit den augen zu erschweren, wobei javascript zur ausführung aber in entschlüsselter, lesbarer form vorliegen muss,
Nein. Du könntest JavaScript auch kompilieren, wenn Du einen entsprechenden Compiler bauen könntest.

ich könnte auch eine maschine bauen, die autos einschmilzt und daraus flugzeuge produziert. kann ein auto deswegen fliegen?

Nein. Ich könnte auch einen C-Interpreter schreiben, wenn ich Lust hätte. (habe ich aber nicht ;-))

und? könnte dein c-source dann irgend etwas anstellen? nö, der interpreter kann das, ein maschinenlesbares programm.

der code eines, mit exepackern/-cryptern gepackten programmes ist auch nicht direkt vom prozessor ausführbar, sondern erst, wenn das programm im arbeitsspeicher wieder entpackt wurde.
Wo ist da der Unterschied zu Beispielsweise PHP oder Perl, die genau das auch tun?

wieder: nein. die scripte werden auch zur laufzeit nicht compiliert, sondern lediglich interpretiert.
indem du von einem blatt eine anleitung zum bau von flügeln abliest, und dich mit den dingern in ulm vom rathaus stürzt, machst du aus dem blatt keinen vogel, sondern interpretierst es lediglich.
der unterschied ist der, ob ich aus einem behälter einen gegenstand hole, mit dem ich etwas machen kann, oder eine beschreibung dieses gegenstandes lese.

Es geht doch darum, ob dann die Sprache eine Programmiersprache ist. Wenn diese Sprache sowohl kompiliert als auch interpretiert werden kann, ist sie dann eine Programmiersprache oder nicht?

wenn ich viel mehr arbeiten würde, könnte ich mir sogar einen königs-titel kaufen. würdest du mich dann ab sofort bitte mit "ihre majestät" ansprechen? darüber zu philosophieren, ob man einen compiler für eine sprache schreiben kann, halte ich für irrelevant.
wenn eine sprache in ein programm compiliert werden kann, das ohne hilfsprogramme direkt auf der hardware ausführbar ist, dann nenne ich sie eine programiersprache.
da wirst du wohl mit der heute verfügbaren syntax von javascript nicht viel glück haben.