Read this article in English

Programmier-Terminologie: Computerprogramm

Was genau ist eigentlich ein Computerprogramm? Wie kann man es benutzen, um einen Computer etwas tun zu lassen?

Eine kurze Definition

Jedes Computerprogramm besteht aus einer oder mehreren Zeilen Computer Code, der in einer Programmiersprache geschrieben ist.

Dies ist zunächst nur eine Liste von Kommando-Anweisungen, die dem Computer auf einem meist recht niedrigen technischen Level sagen, welche Schritte er nacheinander ausführen soll.

Im Kern ist ein (Computer-)Programm also lediglich ein Text, der in einer spezifischen Programmiersprache geschrieben wurde. Bei größeren und komplexeren Programmen wird der Text dabei auf mehrere getrennte Dateien verteilt, da die einzelnen Teile für verschiedene Funktionen so leichter zu pflegen sind.

Die Kommandozeilen des Programm-Textes werden auch Quellcode (source code) genannt, da sie die "Quelle" für das am Ende entstehende ausführbare Programm sind.

Dies ist das, was Programmierer im Regelfall meinen, wenn Sie von einem Programm sprechen - Dateien mit Quellcodes, die miteinander kombiniert das eigentliche ausführbare Programm mit seiner gesamten Funktionalität ergeben.

Vom Text zum lauffähigen Programm

Bei den meisten Programmiersprachen müssen die Kommandos in den Quellcode-Dateien erst in maschienen-lesbaren Code (den Maschinencode) übersetzt werden, bevor sie vom Computer tatsächlich ausgeführt werden können.

Diese Übersetzung übernimmt ein Compiler oder Interpreter Programm. Beide Programmtypen sind dabei auf spezifische Programmiersprachen und Ziel-Plattformen (Betriebssysteme und Hardware-Plattformen) ausgerichtet.

Der vom Compiler oder Interpreter erzeugte Maschinencode ist dann das eigentliche ausführbare Programm, das man am Ende nutzen kann.

Da das finale ausführbare Programm oft nur als Programm bezeichnet wird, kann es bei der Kommunikation zwischen Programmierern und Nicht-Programmierern leicht zu Missverständnissen führen. Daher wird der finale, ausführbare Maschinencode von Programmierern meist mit dem englischen Begriff "executable" (das Ausführbare) bezeichnet.