Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Sprache wird kompiliert und welche interpretiert?


kahlchen
2010-03-08, 13:44:28
Hallo,
welche der folgenden Sprachen wir interpretiert und welche kompiliert und wo ist der Unterschied?

- Java Server Pages (JSP)
- JavaScript
- Perl
- PHP

Danke, falls das jemand erklären kann :)

mapel110
2010-03-08, 13:52:58
http://de.wikipedia.org/wiki/Java_Server_Pages
JSP ist wohl laut Wikipedia ein etwas spezieller Fall, die anderen sind Interpreter-Sprachen.
http://de.wikipedia.org/wiki/Interpreter
Quellcode wird nicht umgewandelt in ausführbaren Code sondern eben interpretiert.

Coda
2010-03-08, 14:51:06
Intern kompiliert auch PHP in Bytecode. Der kann auch gecached werden mit beispielsweise APC.

Auch die neuen JavaScript-Implementierungen machen das. Native Code erzeugt direkt aber keine der vier Sprachen.

sei laut
2010-03-08, 17:30:03
http://de.wikipedia.org/wiki/Interpreter
Quellcode wird nicht umgewandelt in ausführbaren Code sondern eben interpretiert.
Es gibt auch Compiler.
http://de.wikipedia.org/wiki/Compiler

Aber im Endeffekt kanns einem egal sein, ob noch ein Compiler oder Interpreter dazwischenhängt. Oder beides. Ich meine, davon hängt nicht die Qualität und die Fähigkeit einer Sprache ab. So dachte ich bisher, vielleicht täuschts mich auch.. :D

Gast
2010-03-08, 23:21:45
Früher war noch die Unterscheidung ziemlich deutlich, aber mittlerweile ist es ziemlich egal bzw. es vermischt sich auch stark. C# ist z.B. so ein Mittelding. Es wird zwar wie in C/C++ der Code compiliert und eine .exe erstellt. Diese wird jedoch erst recht vom .NET Framework interpretiert. Der Programmierer bekommt hiervon jedoch ziemlich wenig mit.
Eigentlich von Bedeutung für eine Programmiersprache ist mehr, wass die Syntaxprüfung erfolgt. Diese sollte wenn möglich immer zur Designzeit erfolgen, wenn möglich gleich während dem Tippen per Syntax Highlighting und nicht erst bei der Ausführung. Es gibt nichts tödlicheres als kleine Syntaxfehler in eine Fehlerbehandlungsroutine, die man vergessen hat zu testen, wenn dann nichts mehr geht und niemand weiß warum.