Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Programmcode

Als Programmcode (oder Programmkode) werden die Anweisungen bezeichnet, die im Rahmen der Softwareentwicklung für ein bestimmtes Computerprogramm oder einen …

Inhalt5 Abschnitte
  1. 1. Grundbegriff und Bedeutung
  2. 2. Wichtige Arten
  3. 3. Begriffsgrenzen und Varianten
  4. 4. Speicherung und Lebensdauer
  5. 5. Vom Quelltext zum laufenden Programm

Grundbegriff und Bedeutung

Programmcode oder Programmkode bezeichnet die Anweisungen, die bei der Softwareentwicklung für ein bestimmtes Computerprogramm oder für einen Teil davon entstehen. Diese Anweisungen beschreiben oder repräsentieren die Funktionalität des Programms in einer bestimmten Programmiersprache.

Wichtig ist: Programmcode meint hier nicht „Code“ im Sinn von Sprache oder Syntax, sondern ein Programmstück. Der Begriff wird in der Literatur jedoch nicht immer einheitlich verwendet. Manchmal steht er nur für Quelltext, manchmal auch für andere Formen wie Maschinencode.

Wichtige Arten

Es werden vor allem drei Arten von Programmcode unterschieden:

  • Quelltext ist die für Menschen lesbare und meist von Menschen erstellte Form eines Computerprogramms. Er wird auch Quell-, Source-, Primärcode oder Quellprogramm genannt.
  • Zwischencode entsteht beim Kompiliervorgang. Er wird anschließend interpretiert oder in andere formale Sprachen, zum Beispiel Maschinencode, übersetzt. Je nach Plattform heißt er auch Bytecode, Objektcode, Pseudocode oder ähnlich.
  • Maschinencode kann von einer Maschine direkt ausgeführt werden. Für Menschen ist er jedoch nicht oder nur schwer lesbar. Er wird auch Maschinenprogramm, Binärprogramm oder ähnlich genannt.

Jeder Programmcode gehört genau zu einem Programm oder Programmteil. Die Codearten bauen häufig aufeinander auf: Quelltext kann Grundlage für Zwischencode sein, Zwischencode wiederum Grundlage für Maschinencode. Quelltext wird in der Regel von Programmierern erstellt; andere Codearten werden meist automatisch erzeugt. Auf späteren Entwicklungsstufen werden oft Programmcodes mehrerer Funktionen oder Programmteile zusammengeführt, etwa beim Maschinencode eines ganzen Programms.

Begriffsgrenzen und Varianten

Die Verwendung des Begriffs ist teilweise mehrdeutig. Besonders bei deklarativen oder grafischen Programmiersprachen werden die erzeugten Anweisungen nur teilweise als Programmcode oder Quelltext bezeichnet. Teilweise gelten sie auch als Gegenteil von Programmcode, weil sie kein Programm-„Text“ sind.

Programmcodevarianten können sich stark unterscheiden: in Struktur, Form, Syntax, Speicherung und abhängig von Programmiersprache sowie Programmierwerkzeugen. Nicht immer entstehen alle Varianten; manchmal gibt es zum Beispiel keinen Zwischencode oder keinen Maschinencode, oder die Varianten tragen andere Namen wie „Bytecode“.

In manchen Entwicklungsumgebungen unterscheidet man verwalteten Code und nicht verwalteten Code, englisch „managed code“ und „unmanaged code“. Bei verwaltetem Code wird unter anderem die Speicherverwaltung weitgehend von der Laufzeitumgebung und deren Übersetzern übernommen, etwa in Java oder in den .NET-Sprachen.

Speicherung und Lebensdauer

Programmcode ist ein immaterieller Begriff. Er ist also nicht an ein bestimmtes physisches Medium gebunden. Er kann zum Beispiel im Hauptspeicher eines Editors während der Erstellung von Quelltext existieren, als Member einer Programmbibliothek, als ausführbare Datei, im Hauptspeicher des Computers während der Ausführung oder auf Papier, etwa in einer Quelltextliste.

Während der Entwicklung wird Programmcode häufig verändert oder neu erzeugt. Quelltext wird oft korrigiert oder überarbeitet; andere Codearten werden nach Änderungen meist automatisch neu erstellt. Programmcodes existieren daher oft nur vorübergehend, zum Beispiel bis zum nächsten Arbeitsschritt oder bis zur nächsten Softwareversion nach der Korrektur eines Programmfehlers.

Vom Quelltext zum laufenden Programm

Damit ein Computerprogramm ausgeführt werden kann, muss es in Maschinensprache umgesetzt werden. Maschinensprache ist eine vom Computer verständliche Folge von Bits. Diese Umsetzung kann vorab durch einen Compiler geschehen oder zur Laufzeit durch einen Interpreter oder JIT-Compiler.

Häufig wird heute eine Kombination verwendet: Zur Übersetzungszeit wird der Quelltext der eigentlichen Programmiersprache in einen abstrakten Zwischencode übersetzt. Zur Laufzeit überführt eine Laufzeitumgebung diesen Zwischencode durch einen Interpreter oder JIT-Compiler in den eigentlichen Maschinencode.

Ein Vorteil dieses Prinzips ist, dass derselbe Zwischencode auf vielen verschiedenen Rechnerarchitekturen ausführbar sein kann. Dadurch muss nicht für jede Zielarchitektur eine eigene Version der Software erscheinen. Typische Beispiele für solchen Zwischencode sind Java-Bytecode und die Common Intermediate Language. Mit einem Debugger kann die Funktionsweise eines Programms zur Laufzeit verfolgt werden.

Weiterlesen

Anweisung (Programmierung) Anweisungen sind üblicherweise Zuweisungen, Kontrollanweisungen (wie Sprünge, Schleifen und bedingte Anweisungen) und Prozeduraufrufe. Abhängig von der … Programmiersprache Bei deklarativen Programmiersprachen ist der Ausführungsalgorithmus schon vorab festgelegt und wird nicht im Quelltext ausformuliert/beschrieben, sondern es … Quelltext Quelltext, auch Quellcode (englisch source code) oder unscharf Programmcode genannt, ist in der Informatik der für Menschen lesbare, in einer … Compiler Ein Übersetzer zur Übertragung von Assembler-Quellprogrammen in Maschinensprache wird als Assembler oder Assemblierer bezeichnet. Geschichte. Bearbeiten. Formale Sprache Eine formale Sprache ist eine abstrakte Sprache, bei der im Unterschied zu natürlichen Sprachen oft nicht die Kommunikation im Vordergrund steht, … Bytecode Bytecode ist in der Informatik die Bezeichnung für eine Sammlung von Befehlen, also die Maschinensprache für eine virtuelle Maschine. Duden Der Duden ist ein Rechtschreibwörterbuch der deutschen Sprache. Das Werk war erstmals am 7. Juli 1880 von Konrad Duden als Vollständiges Orthographisches … Deklarative Programmierung Die deklarative Programmierung ist ein Programmierparadigma, bei dem die Beschreibung des Problems im Vordergrund steht. Der Lösungsweg wird dann … Java (Programmiersprache) Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke des Unternehmens Sun Microsystems, welches 2010 von Oracle übernommen wurde. Speicherverwaltung Das Verwalten der höheren Ebenen der Speicherhierarchie wie beispielsweise des Cache-Speichers wird dagegen üblicherweise von der Hardware vorgenommen. Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Maschinensprache Mit einem Assembler: Assemblersprachen formulieren die Prozessorbefehle des Maschinencodes als Mnemonics in einer einfachen Syntax. Dieser Quelltext wird …