Merke: Module compiliert CPython nur einmal, cached danach den Bytecode in ".pyc" Dateien. Für Hauptprogramme wird kein .pyc angelegt, ginge aber auch.
Wenn Du nur Bytecode hast und Python eine VM hat, wo ist der Unterschied zu Java, ausser in der Syntax? Auch Java übersetzt .java Dateien in .class und führt die dann in einer VM aus.
Für mich macht nicht die Existenz eines Compilers den Unterschied aus. Der Unterschied ist in der Kompression der Sprachelemente und der Dynamischen Typisierung, aber in jedem Fall in der Möglichkeit Module für sich alleine stehend zu übersetzen.
Also für mich ist eine Skriptsprache eine Sprache, die in andere Software (nicht Bibliotheken) eingebettet ist, welche mit einer anderen Sprache programmiert wurde. Die Skriptsprache steuert den groben Ablauf, für alles andere wäre sie ev. zu langsam.
Du meinst: http://en.wikipedia.org/wiki/Glue_language und da heisst es "normalerweise eine Skriptsprache.
Denn Java hat "JNI" (Java Native Interface), eine Anbindung an native Sprachen, weil es für manches zu langsam war. Folglich wäre Java eine Skriptsprache, weil es als Gluelanguage eingesetzt wird?
Logischerweise ist die Überlappung gigantisch gross, aber ich meine "Recht" /TM/ zu haben.
Was ist der Unterschied von Java und Python, beantworte die Frage, und Du kommst darauf, dass sie technisch vom Design sehr ähnlich sind, bis auf einen Unterschied, den ich nannte.
Noe, das passt schon so. Bei den drei Sprachen werden die Programme zur Laufzeit interpretiert, damit gehören sie zu den Skripsprachen.
echo 'print "hallo"' >test.py
python -m py_compile test.py
rm test.py
python test.pyc
Merke: Module compiliert CPython nur einmal, cached danach den Bytecode in ".pyc" Dateien. Für Hauptprogramme wird kein .pyc angelegt, ginge aber auch.
Wenn Du nur Bytecode hast und Python eine VM hat, wo ist der Unterschied zu Java, ausser in der Syntax? Auch Java übersetzt .java Dateien in .class und führt die dann in einer VM aus.
Für mich macht nicht die Existenz eines Compilers den Unterschied aus. Der Unterschied ist in der Kompression der Sprachelemente und der Dynamischen Typisierung, aber in jedem Fall in der Möglichkeit Module für sich alleine stehend zu übersetzen.
Sonst wäre Java eine Skriptsprache.
Gruss,
Kay
Also für mich ist eine Skriptsprache eine Sprache, die in andere Software (nicht Bibliotheken) eingebettet ist, welche mit einer anderen Sprache programmiert wurde. Die Skriptsprache steuert den groben Ablauf, für alles andere wäre sie ev. zu langsam.
Hallo Du,
Du meinst: http://en.wikipedia.org/wiki/Glue_language und da heisst es "normalerweise eine Skriptsprache.
Denn Java hat "JNI" (Java Native Interface), eine Anbindung an native Sprachen, weil es für manches zu langsam war. Folglich wäre Java eine Skriptsprache, weil es als Gluelanguage eingesetzt wird?
Logischerweise ist die Überlappung gigantisch gross, aber ich meine "Recht" /TM/ zu haben.
Was ist der Unterschied von Java und Python, beantworte die Frage, und Du kommst darauf, dass sie technisch vom Design sehr ähnlich sind, bis auf einen Unterschied, den ich nannte.
Gruss,
Kay
Klingt schlüssig. Zumal Java mit Codeinjection und was-weiß-ich nicht wenig Schlüsselwörter hat.
Also für Codeinjection hat Java keine Extra-Schlüsselwörter...
Oh. Ach ja..
Normales Basic (zB QBasic) wird üblicherweise auch zur Laufzeit interpretiert und ist trotzdem keine Skriptsprache....
Hm, wieso eigentlich nicht? Es gab mal Visual Basic Script, dass die gleiche Syntax hatte.
Kann es sein, dass BASIC (meine erste Programmiersprache) einfach nur zu alt ist? Oder dass es keine Modularisierung hat (weiss nicht), oder warum?
Gruss,
Kay