Was ist eine Programmiersprache?
Eine Programmiersprache ist eine formale Sprache mit festen Bildungsvorschriften (Syntax), um Datenstrukturen und Algorithmen festzulegen.
Fast alle Programmiersprachen stellen dem Entwickler Grundfunktionen, mit denen Variablen deklariert, Daten eingelesen oder Zahlen und Zeichenketten verarbeitet werden können, zur Verfügung.
Auch Steuerblöcke für bedingte Anweisungen oder Wiederholungen gehören zum Standard. Durch das Einbinden externer Bibliotheken kann der Funktionsumfang einer Programmiersprache nochmals beliebig erweitert werden.
Moderne Programmiersprachen sind an die natürliche Sprache des Menschen angelehnt und werden in einem Texteditor oder einer Entwicklungsumgebung geschrieben. Ein Compiler oder Interpreter wandelt den Programmcode dann automatisiert in die Maschinensprache, die der Computer ausführen kann, um.
Die 1. und 2. Generation: Binäre und Assemblersprachen
Bis zu diesen modernen Hochsprachen war es ein weiter Weg. Die Anfänge der Programmiersprachen reichen weit zurück bis in die 1930er und 40er Jahre. Konrad Zuse und John von Neumann entwickelten zu dieser Zeit die ersten Rechenarchitekturen. Mit Programmiersprachen der 1. Generation wurden Berechnungsvorschriften für diese Computer noch als Binärcode verfasst – komplexe Routinen waren damit kaum möglich.
Um die 1950er entwickelte sich die 2. Generation, die sogenannten Assemblersprachen. Diese Programmiersprachen ordnen den Binärfolgen einfach zu merkende Kürzel (Mnemonics) zu. Der Befehl add eax steht beispielsweise für die Binärfolge 00000101. Assemblersprachen sind besser verständlich als Maschinencode und müssen durch einen Compiler übersetzt werden. Sie sind aber immer noch hardwarespezifisch.
Für jeden Computertyp gibt es einen anderen Befehlssatz, sodass ein Programm jeweils nur auf einer Architektur lauffähig ist.
Programmieren unabhängig von der Rechenarchitektur – die 3. Generation
Plattformunabhängige Entwicklung wurde erst mit der 3. Generation, den imperativen Sprachen, möglich. Deren Syntax besteht nicht mehr nur aus Kürzeln, sondern aus ganzen Worten, die die Lesbarkeit erhöhen. Der Quellcode wird zuerst in einen Zwischencode übersetzt, der auf verschiedene Plattformen portiert und dort in den jeweils passenden Maschinencode umgewandelt werden kann.
In den 50er Jahren entwickelten sich die ersten Sprachen der 3. Generation, wie Fortran, ALGOL und Lisp. Diese finden aber heutzutage kaum noch Anwendung. Aktuell beliebte Sprachen wie C#, Delphi oder Java haben einen höheren Abstraktionsgrad. Außerdem ermöglichen sie eine bessere Strukturierung der Quelldateien und sind deswegen für umfangreiche Softwareprojekte geeignet.
Auf die 3. Generation folgte in den 80er die Entwicklung der 4. Generation. Nun steht nicht nur das bessere Verständnis, sondern das Ergebnis des Algorithmus und die Formulierung von Anweisungen mit möglichst wenigen Codezeilen im Vordergrund. So können Probleme auf einen Blick erfasst und schnell implementiert werden. Welche Programmiersprache zur 3. oder 4. Generation gehört lässt sich allerdings nicht eindeutig trennen.