Bei einer Programmiersprache handelt es sich um eine formale Sprache, mit denen sich Algorithmen und Datenstrukturen für den Computer formulieren lassen. Diese sogenannten Rechenvorschriften werden dann von einem Computer interpretiert und ausgeführt. Sie bestehen normalerweise aus schrittweisen Anweisungen aus erlaubten textuellen Befehlen und Strukturen, die mit dem Begriff Syntax bezeichnet werden. Während die ersten Programmiersprachen noch direkt an die Eigenschaften des jeweiligen Computers ausgerichtet waren, kommen heute vorwiegend Programmiersprachen höherer Ebenen zum Einsatz.

Die Funktionsweise einer Programmiersprache

Die Gesamtheit aller Befehle und Anweisungen, aus denen sich ein bestimmtes Computerprogramm zusammensetzt, wird als Quellcode bezeichnet. Der Quellcode eines Programms lässt sich in einem einfachen Texteditor erstellen, wie beispielsweise Notepad oder Sublime Text. Bei größeren Software-Projekten kommen allerdings sogenannte integrierte Entwicklungsumgebungen (IDE) zum Einsatz. Moderne IDEs, wie zum Beispiel Visual Studio oder Intellij IDEA, unterstützen den Entwickler bei seiner Programmiertätigkeit und tragen wesentlich dazu bei, die Produktivität des Entwicklers zu optimieren. Damit ein Computer die im Quelltext enthaltenen Befehle und Anweisungen verarbeiten und ausführen kann, muss der Quellcode zunächst in die Maschinensprache des jeweiligen Computersystems übersetzt werden. Dieser Vorgang wird als Kompilierung bezeichnet.

Die Maschinensprache ist ein Binärcode, der für Menschen nur schwer verständlich ist und primär an die Anforderungen und Bedürfnisse von Computersystemen ausgerichtet ist. Der Quellcode kann zu verschiedenen Zeitpunkten in die Maschinensprache kompiliert werden. Falls der Quellcode zur Laufzeit des Programms kompiliert wird, kommt ein sogenannter „Just-in-Time-Compiler oder Interpreter zum Einsatz. Bei einigen höheren Programmiersprachen, wie beispielsweise C, C++ , C# oder  Java, wird eine Kombination aus traditioneller und der JiT-Kompilierung eingesetzt. So wird beispielsweise noch vor der Programmausführung der Java-Code in einen Zwischencode, den sogenannteBytecode überführt. Dieser wird dann während der Ausführung des Programms in Maschinencode übersetzt.

Die einzelnen Bestandteile einer Programmiersprache

Eine jede formale Programmiersprache lässt sich anhand verschiedener Merkmale näher definieren. Zu diesen Merkmalen gehören neben der Syntax auch der Zeichensatz und das Vokabular.

 

Syntax: Bei der Syntax einer Programmiersprache handelt es sich um deren „Grammatik“. Die Syntax gibt die zulässigen Sprachelemente explizit an. Außerdem definiert sie auch, wie diese Elemente zu verwenden sind.

Vokabular: Das Vokabular bezieht sich auf reservierte Schlüsselwörter, die nicht als Namen für Variablen, Klassen, Funktionen und Methoden gewählt werden dürfen.

Mehr zum Thema:
Was ist Python?

Zeichensatz: Der Zeichensatz einer Programmiersprache setzt sich prinzipiell aus alphanumerischen und numerischen Zeichen und einigen Sonderzeichen zusammen.

 

Die Leistungsfähigkeit und der Umfang einer Programmiersprache hängen in erster Linie von der Mächtigkeit des Befehlssatzes ab. Moderne Programmiersprachen besitzen mindestens die folgenden Befehle:

– Befehle zur Deklaration von Variablen und anderen Datentypen und Datenstrukturen, wie beispielsweise Arrays, Klassen, Hashmaps, die bei der Zwischenspeicherung von Daten genutzt werden

– Befehle, die bei der Ein- und Ausgabe von Daten zum Einsatz kommen

– Mathematische Funktionen, wie beispielsweise Addition, Division oder Multiplikation

– Funktionen zur Verarbeitung von Strings (Zeichenkette)

– Bedingte Anweisungen und Verzweigungen, die bei der Implementierung von Programmlogik zum Einsatz kommen.

– Steueranweisungen und Schleifen für die wiederholte Ausführung bestimmter Programmteile

Aus der Kombination dieser Grundfunktionalitäten lassen sich komplexere Strukturen und Funktionen erstellen. Viele Programmiersprachen bieten außerdem die Möglichkeit, gängige Befehle als Funktionen höherer Ordnung in sogenannte „Bibliotheken“ zu bündeln und somit programmübergreifend wiederverwendbar zu machen.

Gängige Programmierparadigmen im Überblick

Die erste höhere Programmiersprache wurde in den USA im Jahr 1954 entwickelt. Der US-amerikanische Informatiker John Warner Backus war für den Entwurf der Programmiersprache Fortran zuständig, die heutzutage als die älteste sich noch im Gebrauch befindliche Programmiersprache gilt. Einige Zeit später im Jahr 1959 machte der Logiker John McCarthy die Programmiersprache LISP der breiten Öffentlichkeit zugänglich. Noch im selben Jahr wurde mit COBOL die erste Programmiersprache für kommerzielle Anwendungsbereiche vorgestellt. Im Laufe der Jahre kamen noch zahlreiche Programmiersprachen hinzu. Alle formalen Sprachen lassen sich in Klassen einteilen, die als Programmierparadigmen bezeichnet werden. Zu den bedeutendsten Programmierparadigmen gehören die prozedurale, die funktionale und die objektorientierte Programmierung.

  1. Prozedurale Programmierung: Hierbei handelt es sich um das älteste Programmierparadigma. Bei der prozeduralen Programmierung setzt sich ein Computerprogramm aus einer Reihe von Anweisungen und Befehlen zusammen, die nacheinander ausgeführt werden. Der Programmablauf wird durch bestimmte Kontrollkonstrukte, wie Verzweigungen oder Schleifen, gesteuert. Zu den Programmiersprachen, die dieses Paradigma unterstützen, gehören Sprachen wie Fortran, Go oder C.
  2. Funktionale Programmierung: Bei dem funktionalen Programmierparadigma setzt sich ein Computerprogramm aus einzelnen Funktionen zusammen, die untereinander zu Funktionen höherer Ordnung verknüpft werden. Seinen Ursprung hat die funktionale Programmierung in der wissenschaftlichen Forschung rund um das sogenannte „Lambda-Kalkül“, das eine formale, mathematische Sprache zur Untersuchung von Funktionen darstellt. Zu den beliebtesten Sprachen, die das funktionale Programmierparadigma unterstützen, gehören Programmiersprachen wie Haskell, JavaScript und LISP.
  3. Objektorientierte Programmierung: Bei dem objektorientierten Programmierparadigma stehen Objekt im Mittelpunkt. Bei objektorientierten Sprachen, wie Python, C++ oder Java bestehen Computerprogramme aus kooperierenden Objekten. Ein Objekt zeichnet sich dadurch aus, dass es einer bestimmten Klasse angehört, dass es Eigenschaften (Attribute) besitzt und verschiedene Handlungen (Methoden) ausführen kann. Einzelne Objekte sind außerdem in der Lage, Nachrichten an andere Objekte zu senden und zu empfangen.
Mehr zum Thema:
Was bedeutet IAS?
Letzte Artikel von Daniel Faust (Alle anzeigen)