6.1 Programmiersprachen der ersten bis dritten Generation
6.1.1 Maschinensprache
Programme, die von einem Programmierer direkt in einer bestimmten Maschinensprache geschrieben wurden, sind meist kleiner und schneller als Programme deren Quellcode von einem Übersetzungsprogramm in Maschinencode übersetzt wurde.
Maschinensprachen gelten als Programmiersprachen der ersten Generation.
6.1.2 Assemblersprache
Damit ein Programmierer nicht zu jedem Befehl die entsprechende Bitfolge kennen muss, gibt es zu einer Maschinensprache häufig eine passende Assemblersprache.
Für komplexe Programme direkt Assemblercode zu erstellen ist aufwendig und nicht sehr komfortabel. Eine sinnvolle Strukturierung des Programms ist nicht einfach, was sich negativ auf die Wartbarkeit des Programms auswirkt. Außerdem, müsste das Programm für jeden Prozessortyp, der eine andere Maschinensprache „spricht“, neu geschrieben werden.
Im Gegenzug kann Assemblercode sehr effizient programmiert werden, da der Programmierer diesen unmittelbar auf den jeweiligen Prozessortyp optimieren kann. Spielen die Performance oder der Speicherbedarf eines Programms eine entscheidende Rolle, kann es sinnvoll sein, diese direkt in einer Assemblersprache zu schreiben. Ein Beispiel hierfür wären aufwendige wissenschaftliche Berechnungen.
Assemblersprachen werden als Programmiersprachen der zweiten Generation bezeichnet.
6.1.3 Höhere Programmiersprache
In der Regel werden Programme heute mit einer höheren Programmiersprache, wie zum Beispiel Java, C++ oder C#, erstellt. Deren Programmcode lehnt sich eng an eine menschliche Sprache an (meist Englisch), lässt sich besser strukturieren und ist daher für Menschen verständlicher. Außerdem ist er hardwareunabhängig, das heißt, er ist nicht auf einen bestimmten Prozessortyp zugeschnitten.
Letztendlich muss jedoch auch dieser Programmcode in eine Maschinensprache übersetzt werden, bevor das Programm ausgeführt werden kann. Das ausführbare Programm ist dann nicht mehr hardwareunabhängig und läuft nur auf den Prozessortypen, die die gewählte Maschinensprache verstehen.
Höhere Programmiersprachen werden als Programmiersprachen der dritten Generation bezeichnet.