5.1 Die Software

Software = die "weiche Ware":
Gesamtheit aller Programme, die auf einer  Rechenanlage eingesetzt werden können. Die Software wird auf CD, Disketten, Festplatten und Magnetbändern gespeichert.

Systematisiert man den Bereich der Software, so können grundsätzlich zwei Arten von Software unterschieden werden:


5.1.1 Anwendersoftware

Benutzerprogramme, die Probleme der Anwender in verschiedenen Bereichen (z. B. Adressverwaltung, Spiele, Mathematik, Buchhaltung, Haushalt) lösen können.
Beispiele: MS-Office, Star-Office, Lotus-Office

 

Standardprogramme:
Diese Programme werden einmalig erstellt, können aber den individuellen Bedürfnissen verschiedener Anwender angepasst werden (z.B. Ausdruck von Rechnungen auf Firmen-vordrucken).

Beispiele: Brachensoftware für Ärzte, Rechtsanwälte
 

Individualprogramme:
Diese Programme sind erforderlich, wenn es kein geeignetes Standardprogramm für eine spezifische Anwendung gibt. Beispiele sind hier neue Automaten, wie Geldausgabeautomaten, die jeweils eine eigene passende Software benötigen.

 

5.1.2 Systemsoftware (Systemprogramme)

Systemprogramme ermöglichen den ordnungsgemäßen Betrieb eines Computers und stellen somit eine Verbindung zwischen der Hardware und den Anwenderprogrammen her.

Beispiel eines Events  
 

 

5.1.3 Programmiersprachen:

Will man eine Problemstellung mit Hilfe der Elektronischen Datenverarbeitung lösen, so muss man den Lösungsweg (Algorithmus) in einer Sprache formulieren, die der Computer versteht. Alle Programme, seien es nun System- oder Anwenderprogramme, sind mit Hilfe einer (oder mehrerer) der nachstehend angeführten Programmiersprachen verfasst.

Sprachen der 1. Generation - Maschinensprachen
Jeder Computer versteht unmittelbar nur eine Sprache, und zwar die für ihn entwickelte Maschinensprache. Diese Sprache ist binär verschlüsselt, d.h. sie besteht nur aus den Zeichen 0 und 1. Die Maschinensprache ist für den Menschen deshalb nicht geeignet, da ein Programm nur unter großem Zeitaufwand und mit viel Mühe entwickelt werden kann.

Beispiel:   100001100.............addiere

 

Sprachen der 2. Generation - Assembler
Die Assemblersprache entspricht weitgehend der Maschinensprache. Jeder Befehl der Assemblersprache entspricht einem Befehl der Maschinensprache, nur werden die binär verschlüsselten Befehle der Maschinensprache durch verständliche Bezeichnungen ersetzt.
Beispiel:
  ADD...................addiere

Jedes System hat seine eigene Assemblersprache, so dass man für die Programmherstellung Maschinenkenntnisse benötigt. Die Erstellung von Programmen in Assemblersprache ist daher auch verhältnismäßig schwierig, jedoch haben diese Programme den Vorteil, dass sie wenig Speicherplatz beanspruchen und sehr schnell ablaufen.

 

Sprachen der 3. Generation  - prozedurale Sprachen
Diese Sprachen sind schrittweise (prozedural) aufgebaut und ermöglichen eine maschinenunabhängige Programmierung mit Hilfe von Symbolen der Mathematik (z.B. +) bzw. mit Hilfe von Befehlen, die der englischen Sprache entstammen.

Beispiel:   varA=varA+22..........addiere

Bei den prozeduralen Sprachen wird als Lösungsweg das WIE angegeben.

 

Sprachen der 4. Generation - Objektorientierte Sprachen
Bei den Sprachen der vierten Generation genügt es nur mehr zu definieren, WAS geschehen soll. Aus diesem Grunde werden die Sprachen auch Objektorientierte Sprachen genannt. Zu dieser Kategorie zählen sowohl Werkzeuge für Endbenutzer (z.B. dBase, Open Access), als auch Werkzeuge für Softwareentwickler (C++, Java).
Beispiel:
  Obj1=Obj2.add(22)......addiere

 

Sprachen der 5. Generation:
Endziel all dieser Sprachen ist der Einsatz im Bereich der künstlichen Intelligenz. Ansätze zur Bewältigung dieser Problematik finden sich unter anderem bei LISP und Prolog.
 

 

5.1.4 Übersetzungsprogramme

Jeder Computer arbeitet intern nur im Maschinencode. Daher müssen alle Programme ab der 2. Generation mit Hilfe von Sprachübersetzern umgewandelt werden.


Assembler
Ein Assembler übersetzt die in einer Assemblersprache geschriebenen Anweisungen in Maschinencode.

 
Compiler
Ein Compiler übersetzt ein Programm einer höheren Programmiersprache, ein so genanntes Quellprogramm (Source Code) in ein Maschinen- bzw. Objektprogramm (Object Code). Das Objektprogramm wird danach durch einen Linker mit Programmen der Sprachbibliotheken und Systemumgebung zum ablauffähigen Programm verbunden. Während einer Programmausführung ist somit keine Übersetzung nötig ist.

Beispiele für Compilersprachen: C, C++, Pascal, Delphi
 

Interpreter
sind Übersetzungsprogramme die Programme erst bei der Ausführung in Maschinencode umsetzen (z.B. Basic oder Javascript). Ein Javascript-Programm wird erst vom Browser des Anwenders nach dem Laden aus dem Internet ausgeführt. 
 
 

5.1.5 Dienstprogramme

(Utilities) sind Hilfsprogramme zur Abwicklung immer wiederkehrender Aufgaben (z.B. Sortierprogramme).