8.582
Bearbeitungen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 17: | Zeile 17: | ||
Die Übersetzung bei Java ist statt dessen nicht in Maschinensprache, sondern in Bytecode, eine Zwischensprache. Damit diese ausgeführt werden kann ist noch ein Interpreter notwendig, auch ''Laufzeitumgebung'' genannt. Diese übersetzt den Bytecode bei Ausführung (zur Laufzeit) direkt in die Befehle der Maschinensprache. Die Laufzeitumgebung muss also speziell für jedes System compiliert worden sein, aber dann kann im Prinzip jeder Bytecode auf jeder Maschine ausgeführt werden. | Die Übersetzung bei Java ist statt dessen nicht in Maschinensprache, sondern in Bytecode, eine Zwischensprache. Damit diese ausgeführt werden kann ist noch ein Interpreter notwendig, auch ''Laufzeitumgebung'' genannt. Diese übersetzt den Bytecode bei Ausführung (zur Laufzeit) direkt in die Befehle der Maschinensprache. Die Laufzeitumgebung muss also speziell für jedes System compiliert worden sein, aber dann kann im Prinzip jeder Bytecode auf jeder Maschine ausgeführt werden. | ||
Darüber hinaus gibt es noch [[wikipedia:Skriptsprache|Skriptsprache]]n, die gar nicht mehr compiliert werden müssten. Zum Beispiel [[wikipedia:PHP|PHP]] oder [[wikipedia:Python]]. Bei Ihnen werden die geschriebenen Programme direkt ausgeführt, bzw. ''interpretiert''. | Darüber hinaus gibt es noch [[wikipedia:Skriptsprache|Skriptsprache]]n, die gar nicht mehr compiliert werden müssten. Zum Beispiel [[wikipedia:PHP|PHP]] oder [[wikipedia:Python (Programmiersprache)|Python]]. Bei Ihnen werden die geschriebenen Programme direkt ausgeführt, bzw. ''interpretiert''. | ||
Jede Methode hat vor und Nachteile. Kompilieren in Maschinensprache erlaubt deutlich performantere (schnellere) Programme, die aber nur auf bestimmten Systemen funktionieren. Skriptsprache sind langsamer, können aber viel schneller implementiert werden. | |||
Java geht einen Mittelweg. Das Kompilieren in Bytecode erlaubt es, die Programme vor dem Ausführen zu optimieren, wodurch sie schneller werden. Außerdem sind sie systemunabhängig ausführbar, sofern eine passende Laufzeitumgebung vorhanden ist. Allerdings sind Java-Programme in der Regel immer noch langsamer in der Ausführung. | |||
Eine Besonderheit ist, dass der Bytecode auch aus anderen Sprachen als Java erzeugt werden kann. So gibt es mittlerweile eine Reihe anderer Sprachen wie [[wikipedia:Scala (Programmiersprache)|Scala]], die sich in Java-Bytecode übersetzen lassen. | |||
{{Collapse:End}} | {{Collapse:End}} | ||