CodeGym /Java-Kurse /Java Syntax /Was sind Compiler?

Was sind Compiler?

Java Syntax
Level 0 , Lektion 5
Verfügbar
image-ru-00-18

„Hi, Amigo. Mein Name ist Professor Hans Nudler. Ich leite den wissenschaftlichen Beirat hier im Galaktischen Raser. Außerdem betreue ich unsere Bemühungen, dir das Programmieren in Java beizubringen.“

„Hallo, Professor Nudler.“

„Ich würde dir gern erklären, warum Java eine sehr coole Programmiersprache ist.

„Du wirst ziemlich oft zu hören bekommen, dass der besondere Vorteil von Java seine Plattformunabhängigkeit ist. Was das ist und wozu das gut ist, möchtest du wissen? Dazu möchte ich etwas weiter ausholen.“

„Ein Computer kann nur ganz einfache numerische Befehle ausführen. Wenn wir Hunde trainieren, benutzen wir Befehle wie ‚Fuß‘, ‚Pfote‘ usw., um den Hund dazu zu bringen, etwas Bestimmtes zu tun.“

„Bei Computern nehmen Zahlen die Rolle solcher Befehle ein. Jeder Befehl wird durch eine bestimmte Zahl bzw. einen Code repräsentiert (manchmal auch Maschinencode genannt).“

„Aber ein Programm nur mit Zahlen zu schreiben, ist wirklich schwierig, deshalb wurden Programmiersprachen und Compiler erfunden. Eine Programmiersprache ist etwas, das sowohl von Menschen als auch von Compilern verstanden werden kann. Ein Compiler ist ein besonderes Programm, das ein in einer Programmiersprache geschriebenes Programm in eine Reihe von Maschinencodes umwandelt.“

„Ein Programmierer schreibt ein Programm normalerweise in einer Programmiersprache und führt dann einen Compiler aus, der die Dateien mit dem vom Programmierer geschriebenen Programmcode in eine einzige Datei mit Maschinencode verwandelt – das fertige (kompilierte) Programm.“

  • Programm in C++
  • Compiler
  • Maschinencode

„Das Programm, das dabei herauskommt, kann vom Computer sofort ausgeführt werden. Der Nachteil dabei ist, dass der Code des fertigen Programms sehr stark vom Prozessor und Betriebssystem abhängt. Das bedeutet, dass ein für Windows kompiliertes Programm nicht auf einem Android-Smartphone funktioniert.“

„Wenn ich also ein Programm schreibe und für Android kompiliere, läuft es nicht auf Windows?“

„Genau.“

„Ach so.“

„Aber bei Java hat man sich einen viel innovativeren Ansatz ausgedacht.“

  • Programm in Java
  • Java-Compiler
  • Spezieller plattformunabhängiger Code (Bytecode)
  • JVM
  • Maschinencode

„Ein Java-Compiler kompiliert nicht einfach alle Klassen zu einem Programm in Maschinencode. Stattdessen kompiliert er jede Klasse einzeln, und auch nicht in Maschinencode, sondern in einen speziellen Zwischencode (Bytecode). Der Bytecode wird erst zu Maschinencode kompiliert, wenn das Programm gestartet wird.“

„Und wer kompiliert das Programm in Maschinencode, wenn es gestartet wird?“

„Dafür gibt es ein spezielles Programm, nämlich die Java Virtual Machine (JVM). Sie muss gestartet werden, bevor man ein Bytecode-Programm ausführen kann. Die JVM kompiliert den Bytecode in Maschinencode, bevor das Programm ausgeführt wird.“

„Interessant. Warum ist das denn notwendig?“

„Das ist ein sehr leistungsfähiger Ansatz und einer der Gründe, warum Java alles dominiert.“

„Auf diese Weise können in Java geschriebene Programme auf praktisch jedem Gerät ausgeführt werden: Computern, Smartphones, Geldautomaten, Toastern oder sogar Kreditkarten!“

„Cool!“

„Diese Methode hat viele Vorteile. Deshalb werden auch alle Android-Programme in Java geschrieben. Weil die Mobiltelefon-Branche so schnell wächst, dominiert Java in folgenden Programmiergebieten:

1) Enterprise: umfangreiche, serverorientierte Anwendungen für Banken, Großunternehmen, Investmentfonds usw.

2) Mobiltechnologie: Mobilgeräte-Entwicklung (Smartphones, Tablets) dank Android.

3) Web: PHP ist hier führend, aber Java hat einen ansehnlichen Marktanteil errungen.

4) Big Data: Rechenleistung, die auf Cluster von Tausenden von Servern verteilt ist.

5) Smarte Geräte: Programme für intelligente Häuser, elektronische Geräte, das Internet der Dinge, Kühlschränke usw.“

„Java ist nicht nur eine Sprache, sondern eine Art Ökosystem: es gibt Millionen fertiger Module, die du für deine Programme benutzen kannst, sowie Tausende von Online-Communitys und Foren, in denen du Rat und Hilfe bekommen kannst.“

„Je mehr Programme du in Java schreibst, desto mehr Antworten findest du auf die Frage ‚Warum Java?‘. Das wär's für heute.“

„Vielen Dank, Professor. Das war wirklich interessant und inspirierend.“

Kommentare (31)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Jochen Level 1, Germany, Germany
6 August 2024
cool
andre Level 1, Germany, Germany
15 Mai 2024
stark
Anonymous #11501897 Level 1, Düsseldorf, Germany
12 April 2024
Messi > Ronaldo
Anonymous #11500470 Level 1, Germany, Germany
20 April 2024
cap
Mooni Level 1, Germany, Germany
11 April 2024
Sehr spannend. Aber jetzt brauch erstmal ne Pause. Sonst explodiert mir die Birne
Darkiyyi Level 0, Germany
13 Februar 2024
"^w^" lul
Jonas Level 1, Germany, Germany
14 Juli 2023
ooooooohhhhhhh du lolipop
Anonymous #11345994 Level 1, Germany, Germany
20 Mai 2023
hoi
Anonymous #11322212 Level 1, Germany, Germany
27 März 2023
UwU
25 August 2022
geil
Emilian Level 1, Germany, Germany
20 Juni 2022
servus