Quellcode und Kompilieren

Computerprogramme enstehen nicht aus dem nichts, sie müssen entwickelt werden. Für die Entwicklung von Computerprogrammen gibt es verschiedene Programmiersprache, die alle ihre Eigenheiten haben.

Die bekanntesten Programmiersprachen sind C, C++ und Java. Daneben gibt es noch wichtige Scriptsprachen wie Python, Ruby, PHP und JavaScript.

Sie alle ermöglichen die Entwicklung von Programmen, wobei man bespielsweise in C wohl jede Art von Software schreiben kann, während PHP nur für die Erstellung von Websoftware geeignet ist.

Jede Sprache kennt ihre eigene Syntax (das kann man am besten als Grammatik verstehen) und ihre eigenen Kommandos.

Um ein Programm zu entwickeln, schreiben Programmierer den Quelltext in der von ihnen gewählten Programmiersprache.

Der Computer kann mit dem Quelltext an sich herzlich wenig anfangen, er versteht nur ganz simple Kommandos in Maschinensprache. Solche Kommandos sind beispielsweise das Addieren von zwei Werten, das Multiplizieren oder das Schreiben eines Wertes in den Arbeitsspeicher.

All die komplizierten Quelltexte müssen in die Maschinensprache übersetzt werden.

Diese Arbeit erledigt ein Compiler, der für jede Programmiersprache spezifisch ist.

Den Prozess der Umwandlung des Quelltextes in ein funktionierendes Computerprogramm in Maschinensprache nennt man kompilieren.

Der Compiler kann nicht nur den Quelltext einfach in den Maschinencode übersetzen, sondern sie versuchen auch Programme zu erzeugen, die möglichst schnell und klein sind.

Inwiefern das gelingt, hängt von Compiler und dessen Einstellungen ab.

Prinzipiell kann ein Programmierer auch selbst Maschinencode schreiben und wo es wirklich auf Geschwindigkeit ankommt, wird das auch gemacht.

Ein fähiger Programmierer kann besseren Machinencode erzeugen als jeder Compiler. Dennoch schreibt man lieber in einer Programmiersprache, den Maschinencode ist für jede Plattform spezifisch und überhaupt nur sehr schwierig zu schreiben.

Die Entwicklungszeit ist sehr lang und die Fehlerbehebung ist sehr aufwendig.

Die Maschinensprache unterscheidet sich sehr von der menschlichen Denkstruktur.

Programmiersprachen versuchen hingegen, für den Programmierer möglichst einfach benutzbar zu sein.