4.2 - Die Softwareentwicklung

Sie Software umfasst alle Programme, die es auf einem System gibt.
Die erste primitive Software waren auf den Lochkarten. Generell gilt: Alles was auf wechselbaren Datenträgern gespeichert ist (also Festplatten, Disketten, CD-ROMs, usw.) ist Software.
Interessant bei der Entwicklung der Software ist, dass sich das Prinzip kaum geändert hat; auf den Entwicklungen der 40er und 50er Jahre basieren auch noch heutige Programme.
 

4.2.1 - Die Anfänge und Grundlangen

Programme gab es schon, mehr oder weniger, seit der Entwicklung von Rechenmaschinen. Zuerst waren es Lochkarten, dann Lochstreifen. Sie hatten aber einen entscheidenen Nachteil: Oft sich wiederholende Prozeduren in Programmen mussten immer wieder neu auf eine Lochkarte geschrieben werden, da die Lochkarten nicht beliebig nach vorne oder hinten gelesen werden konnten.
Erst John von Neumann lud nicht nur Daten sondern auch das Programm in den Speicher, sodass sogenannte Schleifen möglich wurden, die Programme kleiner und schneller wurden.
Die ersten Programmiersprachen waren noch nah an der Maschinensprache des Computers orientiert. Die ersten Programmiersprachen wie FORTAN (1958), ALGOL (1960) und COBOL (1960) vereinfachten die Programmentwicklung. Zu dieser Zeit entstand auch die früheste Version des Betriebssystem Unix, das speziell dafür programmiert wurde, Systemübergreifend, also nicht spezialisiert auf nur einen Prozessortyp, zu arbeiten. Auch heute noch ist es auf vielen Rechnern zuhause (auf dem PC heisst es Linux). Zur gleichen Zeit wurden übrigens auch erste militärische Netzwerke geschaffen, aus dem später das InterNet entstand. Tatsächlich sind die Entwicklungen von Unix und InterNet eng verbunden, noch heute laufen die meisten InterNet-Server mit Unix-Systemen, auch die Internetadressenstrukturen (FTP, WWW) sind ursprünglich auf dieses Betriebssystem zurückzuführen. Selbst die Mailboxprogramme basieren auf Unix (Einlogg- bzw. Anmeldeprozeduren, die Befehls- und Benutzerstrukturen, die hierachische Brettstruktur). Auch MS-DOS, und damit letztlich Windows 95 hat einige Elemente von Unix übernommen, wie z. B. die Verzeichnisstruktur.
1964 wurde die bekannte BASIC-Programmiersprache (Beginners All-Purpose Symbolic Instruction Code; also symbolischer allzweck Anweisungs-Code für Anfänger) von John Kemeny und Thomas Kurz als Lernsprache für Studenten entwickelt. Es gibt seit her zahlreiche Dialekte auf verschiedenen Computersystemen.
 

4.2.2 - Moderne Programmiersprachen

in den siebziger und achtziger Jahren gab es dann die Pascal-Sprache, die immer noch leicht zu erlernen war, aber komplexer als BASIC. Auch hiervon gab es mehrere Dialekte. Eine Systemübergreifende Sprache war C (bzw. C+/ C++). Mit ihr war es möglich, die Source, also den reinen Befehlstext, im üblichen ASCII-Format zu speichern und auf anderen Rechnern zu compilieren, das heisst Programme, obwohl auf einem anderen Rechner-Typ geschrieben, werden Mittels der Computersprache passend übersetzt. Eine rasante Entwicklung ist die neue sogenannte objektorientierten Programmiersprachen. Sie ermöglichen mit einfachsten Mitteln das Programmieren unter grafischen Betriebssystemen wie Windows 95 (Trotzdem ist immer noch eine Menge zu programmieren!).
Vor einigen Jahren wurde nun eine neue Art Programmiersprache entwickelt, die mit den entsprechenden Übersetzern (Compilern) alles, von der Kaffemaschine bis hin zum Grossrechner alles steuern sollte: Java.
 

4.2.3 - Low-Level-Programmierung: Assembler

Die Programmierung eines Programms ist sehr kompliziert. Es wäre praktisch wäre es auch purer Wahnsinn, alles in Maschinensprache zu schreiben. Um trotzdem, mehr oder weniger, leicht auf einer möglichst niedrigen Systemebene zu programmieren, gibt es für jeden Computer eine sogenannte Assembler-Sprache. Sie wurde mit Maschinensprache geschrieben.
Wozu braucht man eine solche Sprache, schliesslich gibt es ja Pascal, BASIC, usw.. Genau darum geht's. Ohne Assembler gäb es die meisten Computersprachen überhaupt nicht. Eben weil Assembler eine "Low Level" Programmiersprache ist, also quasi mit dem Compi auf Du und Du, sind komplexere Programme darauf aufgebaut. Assembler ist extrem schnell, weil direkte Befehle an die Systemkomponenten gegeben werden. Programmiersprachen sind etwas allgemeiner und sparen nicht so sehr mit Resourcen. Ein Beispiel: Um einfach nur den Satz "Das Wetter ist schön!" auszugeben, ist das ausführbare Programm das in Pascal geschrieben genau 1936 Bytes gross, das in Assembler nur 41 Bytes (kein Schreibfehler!). Genau aus diesem Grund sind alle wichtigen DOS-Programme und Treiber in Assembler geschrieben. Auch Spiele wie Doom und Quake, also Spiele bei der es darum geht, möglichst schnell und effiziert den Computer zu nutzen.
 

4.2.4 - Systemübergreifende Programmierung: Java

Wenn es nicht so sehr auf Resourcen ankommt, dann werden "höhere" Programmiersprachen benutzt. Für den PC hauptsächlich Pascal und C, inzwischen auch Delphi. Speziell aber durch das InterNet wurde aber nach einer anderen hohen Sprache gearbeitet. Sun Mircosystems, ein Hersteller von Gross- und Industrierechnern, beauftragte ein kleines Programmiererteam "Green Team" mit der Entwicklung einer solchen Sprache. Zuerst wurde ihr der Name "Oak" gegeben, allerdings war dieser Name schon von einer anderen Firma in Benutzung und es wurde unbenannt in Java. Nach einigem hin und her und sogar nach der Auflösung des Green Teams, dass nun den Firmennamen FirstPerson Inc. hatte, etablierte sich Java fast sofort durch den Netscape Navigator, der dies bald unterstützte.
Im InterNet muss man allerdings unterscheiden: Es sind keine reinen Java-Programme, sondern "Java-Applets" bzw. "Java-Scripts" die auf Java basieren. Applets sind nur kleine Programme von wenigen Zeilen, die in einem HTML-Text (dem Textformat im InterNet) eingebettet sind (die Zähler zum Beispiel). Java-Scripts sind zwar immer noch innerhalb eines HTML-Dockuments, aber grundsätzlich sind die Seiten dann in Java geschrieben. Neue Programme, wie z. B. Xelphi, ein Java-Editor, oder WordPerfect sind komplett in Java geschrieben. Sie brauchen nur einen entsprechenden frei erhältlichen "Compiler" (dieses Programm führt das Java-Programm auf dem Computer aus). So entfällt eine lange Entwicklungszeit für jedes Programm für jede einzelne Plattform und die Java-Programme sind vom Atari über den Amiga und den PC bis zum Grossrechner benutzbar.
 


Zum Kapitel Kompendium
Zum Inhaltsverzeichnis