Programmiersprachen

In einer Programmiersprache werden alle aufeinanderfolgenden Arbeitsschritte beschrieben, die ein Computer ausführen soll. Hier geben wir einen Überblick über häufig verwendete Programmiersprachen.

Was ist eine Programmiersprache?

Über Programmiersprachen kann der Mensch dem Computer Befehle geben. Eine Programmiersprache ist rigoros: einem Befehl entspricht genau ein Arbeitsschritt des Prozessors.

Für die Kommunikation untereinander benutzen Computer andere Sprachen, die Protokolle oder Kommunikationsprotokolle genannt werden und nach einem anderen Prinzip funktionieren.

Auch die Sprache, die der Prozessor verwendet, ist eine andere und heißt Maschinensprache. Es handelt sich dabei um die Daten, wie sie beim Prozessor ankommen. Sie bestehen aus einer Folge von 0 und 1, dem sogenannten Binärcode.

Maschinensprache ist für den Menschen nicht verständlich, daher wurden als Zwischensprachen dioe Programmiersprachen entwickelt. Der Code, der in diesen Sprache geschrieben ist, wird in Maschinensprache umgewandelt, damit er vom Prozessor genutzt werden kann.

Die ersten Rechner benutzten sogenannte Assemblersprachen Sie ähneln sehr der Maschinensprache, waren aber für Entwickler verständlich. Allerdings war eine solche Sprache der Maschinensprache so ähnlich, dass sie stark vom verwendeten Prozessortyp abhing (jeder Prozessortyp hatte seine eigene Maschinensprache). Daher konnte ein Programm, das auf einem Rechner entwickelt wurde, nicht auf den Rechner eines anderen Typs übertragen werden.

Programmiersprachen haben nicht nur den Vorteil, dass sie leichter verständlich sind als Maschinensprache, sondern sie ermöglichen auch eine hohe Übertragbarkeit, also einen Einsatz auf verschiedenartigen Rechnern.

Imperative und funktionale Sprachen

Man unterscheidet die Programmiersprachen je nach der Bearbeitung von Befehlen in imperative oder funktionale Sprachen.

Imperative Sprachen

Eine imperative Sprache organisiert das Programm durch eine Serie von Befehlen, die in Blöcken gruppiert werden. Diese Blöcke enthalten Bedingungen, die erfüllt werden müssen, und Sprünge, die bei Erfüllung die Rückkehr zu einem anderen Instruktionsblock ermöglichen.

Vor allem ältere Programmiersprache sind so aufgebaut, auch wenn viele moderne Sprachen dieses Funktionsprinzip weiterhin nutzen. Imperative Sprachen sind jedoch wegen der sequenziellen Anordnung der Instruktionen nur wenig flexibel.

Funktionale Sprachen

Bei einer funktionalen Sprache (machmal auch als Prozeduralsprache bezeichnet) wird das Programm durch Funktionen erzeugt, die einen neuen Zustand ausgeben und die Ergebnisse anderer Funktionen als Eingabe annehmen. Bezieht die Funktion sich auf
sich selbst, spricht man von Rekursivität.

Interpretation und Kompilation

Computersprachen können grob in zwei Kategorien unterteilt werden: in interpretierte Sprachen und kompilierte Sprachen.

Interpretierte Sprachen

Eine Programmiersprache ist per Definition anders als Maschinensprache. Daher muss sie übersetzt werden, damit der Prozessor sie verstehen kann. Ein in einer interpretierten Sprache geschriebenes Programm benötigt ein Hilfsprogramm (Interpreter), um nach und nach die Instruktionen des Programms zu übersetzen.

Kompilierte Sprachen

Ein Programm, das in einer kompilierten Sprache geschrieben ist, wird einmal vollständig übersetzt von einem zusätzlichen Programm, das Compiler genannt wird. Der Compiler erzeugt eine neue Datei, die dann autonom ist, also kein weiteres Programm zur Ausführung mehr benötigt. Mann nennt diese Datei dann ausführbar.

Ein solches Programm hat den Vorteil, dass es einmal kompiliert kein weiteres Programm benötigt, um ausgeführt zu werden. Da die Übersetzung schon ein für alle Mal erledigt ist, ist es außerdem bei der Ausführung schneller.

Es ist allerdings weniger flexibel als ein Programm in einer interpretierten Sprache, da jede Änderung der Quelldatei (Datei, die kompiliert wird und vom Menschen nicht gelesen werden kann) dazu führt, dass das Programm neu kompiliert werden muss, damit die Änderungen wirksam werden.

Andererseits hat ein kompiliertes Programm den Vorteil, dass die Sicherheit des Quellcodes gewährleistet ist. Eine interpretierte Sprache, die direkt verständlich (also lesbar) ist, ermöglicht es jedem, die Geheimnisse der Erstellung eines Programms zu erfahren und den Quellcode zu kopieren bzw. zu ändern. Daraus ergibt sich die Gefahr von Urheberrechtsverletzungen.

Außerdem ist bei manchen gesicherten Anwendungen die Vertraulichkeit des Codes wichtig, um Hackversuche abzuwehren (etwa bei Banküberweisungen, Online-Bezahlung und gesicherten Kommunikationen).

Zwischensprachen

Manche Sprachen gehören in gewisser Weise beiden Kategorien an (zum Bespiel LISP, Java und Python). Programme, die in diesen Sprachen geschrieben sind, machen unter bestimmten Bedingungen eine Zwischenphase zur Kompilation in eine Sprache durch, die nicht lesbar ist (die Datei unterscheidet sich dann von der Quelldatei) und die nicht ausführbar ist (benötigt einen Interpreter).

Java-Applets, kleine Programme, die manchmal in Webseiten eingefügt sind, sind kompilierte Dateien, die man aber nur mit einem Internet-Browser ausführen kann (Dateien mit der Dateiendung CLASS).

Beispiele für häufig verwendete Programmiersprachen

Hier ist eine nicht vollständige Liste von existierenden Programmiersprachen:

Sprache Hauptanwendungsgebiet Kompiliert/Interpretiert
ADA Echtzeit Kompilierte Sprache
BASIC Elementare Programmierung zu Bildungszwecken Interpretierte Sprache
C Systemprogrammierung Kompilierte Sprache
C++ Objektorientierte Programmierung Kompilierte Sprache
Cobol Verwaltung Kompilierte Sprache
Fortran Berechnungen Kompilierte Sprache
Java Internet-orientierte Programmierung Zwischensprache
MATLAB Mathematische Berechnungen Interpretierte Sprache
Mathematica Mathematische Berechnungen Interpretierte Sprache
LISP Künstliche Intelligenz Zwischensprache
Pascal Bildung Kompilierte Sprache
PHP Entwicklung von dynamischen Webseiten Interpretierte Sprache
Prolog Künstliche Intelligenz Interpretierte Sprache
Perl Verarbeitung von Zeichenketten Interpretierte Sprache

Foto: © Pixabay.

Unsere Inhalte werden in Zusammenarbeit mit IT-Experten erstellt, unter der Leitung von Jean-François Pillou, Gründer von CCM.net. CCM ist eine führende internationale Technologie-Webseite und in elf Sprachen verfügbar.
Lesen Sie auch
Das Dokument mit dem Titel « Programmiersprachen » wird auf CCM (de.ccm.net) unter den Bedingungen der Creative Commons-Lizenz zur Verfügung gestellt. Unter Berücksichtigung der Lizenzvereinbarungen dürfen Sie das Dokument verwenden, verändern und kopieren, wenn Sie dabei CCM deutlich als Urheber kennzeichnen.