Frage von invader7, 38

Java Edior ein Code "Compilieren"?

Was bedeutet das? Im internet finde ich keine konkreten Antworten. Danke :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von JutenMorgen, 16

Hey Invader, da du die Online-Erklärungen nicht verstehst versuch ich es mal ganz einfach. 

Der Computer kann in Wirklichkeit nur mit 1en und 0en/bits und bytes arbeiten und eben nicht mit komplexen Daten wie ganzen Wörtern. Ganz zum Schluss schaut ein Programm immer so aus, dass du einen Haufen 1en und 0en in verschieden RAM-Speicherstellen abgelegt hast, welche dann von der CPU ausgelesen werden. Falls du genauer wissen möchtest wie die CPU das macht hier ein Video:

Damit nun aus deinem Quellcode der sogenannten Hochsprache Java if(bla){blubb();} eine Zeichenkette entsteht die der Computer verarbeiten kann, eben 111000101101110, muss dieser irgendwie übersetzt werden. Dafür sind Compiler da, da das ganze sonst händisch gemacht werden müsste. Diese geben dem Code die richtige Struktur und den richtigen Inhalt um in den RAM abgelegt werden zu können. 

Falls dich das ganze Thema interessiert, wie Maschinencode genau aussieht solltest du nach Assembler(Maschinensprache) googeln. Hier siehst du wie ein Program nur noch aus Hex-Werten geschrieben wird und so der CPU ermöglicht wird einen Speicher auszulesen und zu wissen WO sie WIE weiter machen muss.

Ganz kurz und bündig. Ein Compiler übersetzt deinen Code in etwas was der Computer richtig interpretieren kann.

Liebe Grüße, JutenMorgen!

Antwort
von astoorangi, 27

Beim Compilieren wandelst du den geschriebenen Code in Maschinencode um, welcher am Ende ausgeführt wird. Wenn du also das Programm ausführst, wird nicht der geschriebene Code ausgeführt sondern der Maschinencode.

Das ist auch ein Nachteil an Java, nach jeder Änderung im Code musst du wieder neu compilieren, andere Sprachen haben das nicht, da bei diesen der geschriebene Code durch den Interpreter verstanden wird.

Kommentar von NeoExacun ,

Nur Skripte werden direkt Interpretiert. Die meisten Programmiersprachen werden kompiliert oder es wird, wie bei Java, eine Zwischenstufe "kompiliert" die wiederrum interpretiert wird.

Kommentar von astoorangi ,

Skriptsprachen sind aber auch Sprachen.

Kommentar von NeoExacun ,

Durchaus, sie machen aber nciht den Großteil aus, so wie das bei dir klingt.

Kommentar von adenosi ,

Bei Java werden die Programme zu Java Bytecode compiliert, die von der Java VM dann interpretiert werden können.

Bei Android jedoch ab Android 5.0 wird der Java code aber nicht mehr zu Bytecode compiliert sondern zu Maschinencode der ausgeführt werden kann.

Javascript wird mittlerweile intern bei den Browsern auch zu Maschinencode verarbeitet, deswegen bin ich mir nicht mehr so sicher wie man die Scriptsprachen von den Programmiersprachen unterscheidet.

Antwort
von NeoExacun, 33

Das bedeutet, dass du aus dem Code den eigentlichen Interpretercode machst, der später ausgeführt werden kann.

Keine passende Antwort gefunden?

Fragen Sie die Community