Softwareeinteilung und Programmiersprachen

Erwartete Lesezeit: 3 minuten

In der IT unterscheidet man grundlegend zwischen Hard- und Software.
Mit dem Begriff Hardware werden die physisch vorhandenen Bestandteile eines IT Systems bezeichnet. Die Software , die als immanent anzusehen ist, werden alle nicht physischen Komponenten betrachtet.

Einteilung der Programmiersprachen

Aktuell werden Programmiersprachen in 5 Generation unterschieden

Generation 1 – Maschinensprachen

Unter Maschinensprachen (native Code) versteht man Sprachen , die auf den Befehlsumfang eines Prozessors ausgelegt sind und von diesem direkt ausgeführt werden können.
In Maschinensprache entwickelte Programme sind in fast jedem Gerät zu finden, von es PC oder Großrechner bis hin zum Kaffeemaschine.
Um höhere Programmiersprachen ausführen zu können, werden diese über Compile / Assembler in ausführbaren maschinennahe Code umgewandelt.

Generation 2 – Assemblersprachen

Diese Sprachen sind auf den Befehlsvorrat einer bestimmten Prozessorarchitektur ausgelegt. Die Assemblersprachen können alle Funktionen des Mikrokontrollers nutzen und werden meistens nur noch für Rechenintensive und Echtzeitsysteme genutzt. Klarer Nachteil dieser Sprachen ist die Hardwarebindung. Programme die auf z.B. einen Intel-Mikrocontroller ausgelegt sind , können nicht immer auf gleichartigen Kontrollern anderer Herstellern genutzt werden.

Generation 3 – Problemorientierte Sprache

Während die ersten beiden Programmiersprachen ziemlich nah am maschinennahen Code waren, nähert sich diese Generation der menschlichen Sprache an.
Basierend auf dem zu lösenden Problem gibt es die entsprechende Programmiersprache z.B. Fortan für wisschenschaftliche Probleme und Cobol für kaufmännische Probleme. Vor der Ausführung muss der Code compiliert werden.Aber auch objektorientierte Sprachen wie Java

Generation 4 – Datenorientierte Sprachen

Diese Sprachen ermöglichen den Zugriff auf Daten. Zu den Sprachen gehört z.B. SQL .

Generation 5 – Künstliche Intelligenz

Diese Sprachen dienen zur Entwicklung von künstlicher Intelligenz. Vertreter hier sind z.B.Lisp und Prolog.


Generell kann man sagen, die Sprachen der 1. und 2. Generation sind an spezifische Hardware gebunden. Die Generationen der 3. bis 5. Generation sind systemunabhängig.

Welche Arten von Software gibt es ?

Bei Software unterscheidet man generell zwischen den folgenden Arten :

SoftwareartBeschreibung
SystemsoftwareHier fällt das Betriebsystem und die Treiber drunter.
AnwendungssoftwareWeitere Software die ein Anwender nutzen kann.
StandardsoftwareSoftware die für alle Kunden gleich ist.
IndividualsoftwareSoftware die für einen Kunden angefertigt wurde.
Systemgebundene SoftwareSoftware die nur auf einem bestimmten System
ausgeführt werden kann
Systemunabhängige SoftwareSoftware die Plattformunabhängig läuft.