
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 :
Softwareart | Beschreibung |
Systemsoftware | Hier fällt das Betriebsystem und die Treiber drunter. |
Anwendungssoftware | Weitere Software die ein Anwender nutzen kann. |
Standardsoftware | Software die für alle Kunden gleich ist. |
Individualsoftware | Software die für einen Kunden angefertigt wurde. |
Systemgebundene Software | Software die nur auf einem bestimmten System ausgeführt werden kann |
Systemunabhängige Software | Software die Plattformunabhängig läuft. |