Lernpfad:Objektorientierte Programmierung mit Java/Compiler und Interpreter: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 4: Zeile 4:


== Übersetzen und ausführen ==
== Übersetzen und ausführen ==
Programme, die in der Programmiersprache Java geschrieben wurden, kannst du nicht einfach so starten. Dazu ist erst noch ein Zwischenschritte notwendig: Das ''Übersetzen''.
Programme, die in der Programmiersprache Java geschrieben wurden, kannst du nicht einfach so starten. Dazu ist erst noch ein Zwischenschritt notwendig: Das ''Übersetzen''.


Das übernimmt der ''Übersetzer'' oder im Englischen der ''Compiler''.
Das übernimmt der ''Übersetzer'' oder im Englischen der ''Compiler''.
Zeile 10: Zeile 10:
== Vertiefende Informationen zu Compilern ==
== Vertiefende Informationen zu Compilern ==
{{Collapse:Start}}
{{Collapse:Start}}
''to compile'' bedeutet im deutschen ''zusammenbauen'' bzw. ''-setzen'', oder in der Informatik auch ''übersetzen''. Bei Programmiersprachen also die Übersetzung von einer Kodierung eines Programms in eine andere.  
''to compile'' bedeutet im Deutschen ''zusammenbauen'' bzw. ''-setzen'', oder in der Informatik auch ''übersetzen''. Bei Programmiersprachen also die Übersetzung von einer Codierung eines Programms in eine andere.  


Ursprünglich ist die Übersetzung von der vom Menschen geschriebenen und für ihn verständlichen Kodierung z.B. durch [[wikipedia:ASCII|ASCII-Zeichen]] in einen von der Maschine ausführbaren Kode - die [[wikipedia:Maschinensprache|Maschinensprache]] -  gemeint.  
Ursprünglich ist die Übersetzung von der vom Menschen geschriebenen und für ihn verständlichen Codierung z.B. durch [[wikipedia:ASCII|ASCII-Zeichen]] in einen von der Maschine ausführbaren Code - die [[wikipedia:Maschinensprache|Maschinensprache]] -  gemeint.  


Da die Maschinensprache von verschiedenen Faktoren abhängt (Prozessor, Betriebssystem) muss ein Programm für jedes System gezielt übersetzt werden. (Deshalb gibt es für viele Programme im Web auch verschieden Versionen zum Herunterladen. [https://de.libreoffice.org/download/download/ LibreOffice] wurde zum Beispiel für verschiedene Linux, Windows und MacOS Betriebssysteme compiliert.) [[wikipedia:C (Programmiersprache)|C]] ist eine Sprache, die so funktioniert.  
Da die Maschinensprache von verschiedenen Faktoren abhängt (Prozessor, Betriebssystem) muss ein Programm für jedes System gezielt übersetzt werden. (Deshalb gibt es für viele Programme im Web auch verschieden Versionen zum Herunterladen. [https://de.libreoffice.org/download/download/ LibreOffice] wurde zum Beispiel für verschiedene Linux, Windows und macOS Betriebssysteme compiliert.) [[wikipedia:C (Programmiersprache)|C]] ist eine Sprache, die so funktioniert.  


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 stattdessen 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 (Programmiersprache)|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''.  
8.581

Bearbeitungen