![]() |
|
|||||
1.2.2 Die Entwicklung der elektronischen Rechner
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1. Generation: Röhrenrechner Seit den 40er-Jahren wurden Rechner auf der Basis von Elektronenröhren entwickelt. |
| 2. Generation: Transistorrechner Ab den 50er-Jahren wurden die teuren und stromhungrigen Röhren durch Transistoren ersetzt. |
| 3. Generation: Rechner mit integrierten Schaltkreisen In den 60er-Jahren gelang es, durch fotolithografische Verfahren große Mengen von Transistorschaltungen auf Halbleiterplatten unterzubringen – es begann die Entwicklung der integrierten Schaltkreise (englisch integrated circuits, abgekürzt ICs oder Chips). |
| 4. Generation: Rechner mit Mikroprozessor Die frühen ICs waren fest verdrahtet – sie konnten nur eine einzelne, festgelegte Aufgabe erfüllen. Solche Chips für spezielle Anwendungszwecke gibt es noch heute. Anfang der 70er-Jahre wurden zusätzlich frei programmierbare ICs entwickelt, die man Mikroprozessoren nannte. Es dauerte allerdings noch über fünf Jahre, bis die ersten Computer mit diesen Prozessoren konstruiert wurden. |
Auf der Grundlage der Forschungen von John von Neumann, der das theoretische Modell eines Computers formulierte, wurden in den USA Geräte wie Harvard Mark I und Mark II oder der berühmte ENIAC gebaut. Diese erste Generation elektronischer Computer arbeitete mit Elektronenröhren als Schaltelementen. Diese mit den Glühlampen verwandten Vakuum-Bauteile wurden seit Ende des 19. Jahrhunderts entwickelt und dienten verschiedenen Zwecken – denken Sie beispielsweise an das Röhrenradio, in dem die Elektronenröhre als Verstärkerelement eingesetzt wird. Abbildung 1.1 zeigt eine Auswahl verschiedener Elektronenröhren, die zwischen 1927 und 1960 hergestellt wurden. Das Bild stammt übrigens aus dem virtuellen Physik-Museum der Universität Innsbruck (http://exphys.uibk.ac.at/museum/); Herr Professor Denoth stellte es mir freundlicherweise zur Verfügung. Auf der angegebenen Website finden Sie noch viele weitere interessante Bilder und Informationen zur Physikgeschichte, darunter auch weitere Röhren, die seit 1870 entwickelt wurden.
Das für die Computertechnik interessanteste Röhrenmodell war die Triode, die mit ihren drei Anschlüssen die früheste Verwirklichung eines rein elektronischen Schalters darstellt: Einer der drei Anschlüsse dient der Steuerung; wenn dort eine Spannung anliegt, fließt auch Strom durch die beiden anderen Anschlüsse.
Programmiert wurden die meisten Röhrenrechner durch Schalter und Steckverbindungen an großen Schalttafeln. Die einzige Möglichkeit, ein bestimmtes Programm für die spätere erneute Ausführung zu »speichern«, bestand darin, den Zustand der Schalttafel aufzumalen oder zu fotografieren. So dauerte es oft mehrere Stunden, den Computer in die Lage zu versetzen, komplexe Aufgaben zu erfüllen.
Erst allmählich begann man mit der Verwendung von Lochkarten zur Programm- und Dateneingabe. Die Lochkarte selbst wurde im 19. Jahrhundert erfunden, um mechanische Webstühle zu steuern; der Ingenieur Hermann Hollerith, ein Mitbegründer der späteren IBM, setzte sie um 1900 zur Speicherung von Daten einer US-Volkszählung ein, was die Berechnung der Ergebnisse mit Hilfe von Rechenmaschinen von den erwarteten Jahren auf wenige Wochen reduzierte.
Röhrenrechner hatten einige gravierende Nachteile: Sie waren zu groß, zu stromhungrig und wegen der gewaltigen Hitzeentwicklung zu störanfällig. Aus diesen Gründen wurde bald der 1947 erfundene Transistor für die Computerentwicklung eingesetzt. Transistoren sind Halbleiterbauteile, die prinzipiell dieselben Schaltaufgaben erledigen können wie die verschiedenen Arten von Röhren, aber kleiner, billiger und weniger stromhungrig sind. Der Begriff »Halbleiter«, der im Zusammenhang mit Computern immer wieder genannt wird, bezeichnet übrigens ein Material, dessen elektrische Leitungsfähigkeit etwa in der Mitte zwischen den Leitern (vielen Metallen) und Isolatoren liegt – das beliebteste chemische Element zur Fertigung von Halbleiterbauteilen ist Silizium, was der berühmten Gegend in Kalifornien, in der sich in den 60er-Jahren zahlreiche Elektronikfirmen ansiedelten, den Namen Silicon Valley eingebracht hat.
Miniaturisierung durch Transistoren
Erst durch die Einführung des Transistors gelangte die Elektronik zu ihrer vollen Blüte. Dies zeigte sich vor allem an den Transistorradios, die seit den 50er-Jahren zuhauf verkauft wurden. Auch für die entstehende Computerindustrie ergaben sich neue Impulse: Durch die Transistortechnik ließen sich kleinere, leistungsfähigere und weniger störanfällige Rechner konstruieren. Natürlich ist »klein« und »leistungsfähig« relativ – angesichts eines heutigen PCs oder gar Notebooks waren auch die Transistorrechner monströs, mindestens so groß wie eine ganze Reihe gewaltiger Kleiderschränke.
Auch die Transistorrechner wurden anfangs vor allem durch Lochkarten gesteuert. Mitte der 60er-Jahre begann man allerdings mit der Entwicklung von Terminals für den direkten Dialog mit dem Computer. Ein Programmierer konnte über eine Tastatur Befehle eingeben und ein unmittelbares Feedback erhalten, anfangs über einen Fernschreiber-Endlosdrucker, später über einen Monitor. Die Geschichte der Steuerung von Computern wird in Kapitel 4, Betriebssysteme, genauer behandelt.
Der Übergang von Transistorrechnern zu Computern mit ICs verlief unspektakulär und allmählich. Bereits in den frühen 70er-Jahren waren deshalb Computer in verschiedenen Größen verfügbar: Die Großrechner oder Mainframes – vor allem von IBM produziert – bildeten die Rechenzentren von großen Behörden, Versicherungskonzernen oder Universitäten. Daneben kamen die so genannten Kleincomputer auf (noch immer größer als die meisten Kleiderschränke); einer der führenden Hersteller war die Digital Equipment Corporation (DEC). Die Kleincomputer waren zwar nicht ganz so leistungsfähig wie Mainframes, dafür aber flexibler und sogar – mit entsprechend großen LKWs – transportfähig. Besonders wichtige Beispiele für Kleincomputer sind die Geräte der DEC-PDP-Baureihe, die untrennbar mit der Geschichte des Betriebssystems UNIX verknüpft ist.
Durch die Verwendung von ICs kam eine weitere Klasse von Geräten hinzu: die so genannten Minicomputer. Sie waren etwa so groß wie eine größere Kommode und verhältnismäßig leicht, aber durch die fortschreitende Miniaturisierung nicht viel weniger leistungsfähig als Kleincomputer. Ein herausragendes Beispiel für den Minicomputer ist die ebenfalls von DEC stammende VAX-Baureihe.
Für Klein- und Minicomputer wurden übrigens die ersten standardisierten Betriebssysteme und Anwendungsprogramme entwickelt. Dies erforderte die Entwicklung leicht kopierbarer Speichermedien. Ein wichtiger Schritt in diese Richtung war die Verwendung von Magnetbandspulen als Datenspeicher, ihr Aussehen und ihre Funktionsweise entsprachen den etwa zur selben Zeit verbreiteten Tonbändern.
1971 wurde der erste programmierbare Mikrochip entwickelt, genannt Mikroprozessor. Allgemein wird der Intel 4004 als erster Prozessor betrachtet; später stellte sich aber heraus, dass ein anderes Unternehmen bereits einige Monate vor Intel einen ähnlichen Chip entwickelt hatte. Allerdings wussten die Intel-Entwickler nichts davon.
Der 4004 war ein 4-Bit-Mikroprozessor. Er konnte also Informationen verarbeiten, die aus einer Abfolge von vier Einsen oder Nullen bestanden. Mit dieser Wortbreite lassen sich sechzehn verschiedene Werte darstellen, zum Beispiel die Zahlen 0 bis 15. Der Prozessor verstand verschiedene Arten von grundlegenden Befehlen: Er beherrschte arithmetische Operationen, also Berechnungen in den Grundrechenarten, und konnte logische Verknüpfungen und Vergleiche durchführen und auf der Basis ihrer Ergebnisse die »Entscheidung« treffen, an einer anderen Stelle im Programm fortzufahren. Die mathematisch-logischen Grundlagen und ihre Verwirklichung durch elektronische Bauteile werden im nächsten Kapitel, Mathematische und technische Grundlagen, vorgestellt.
Die ersten Personal Computer
Intel unterschätzte zu Anfang die Möglichkeiten des Mikroprozessors; er wurde in Rechenmaschinen und Ampelanlagen eingebaut, aber nicht in einen Computer. Erst 1975 baute die Rechenmaschinenfirma MITS einen einfachen Mikrocomputer-Bausatz, den Altair 8800. Er war mit einer Reihe von DIP-Schaltern für die Eingabe der einzelnen Bits und einer Reihe von Leuchtdioden zur Anzeige der Ergebnisse ausgestattet. Der verwendete Mikroprozessor war der Intel 8080, der bereits 8 Bit verarbeiten konnte. Für dieses zunächst nicht besonders nützliche Gerät entwarfen Bastler Schnittstellen für Monitor und Tastatur, und ein junger Programmierenthusiast schrieb einen Interpreter (zeilenweisen Übersetzer) für die einfache Großrechner-Programmiersprache BASIC, der auf dem Gerät lief. Der Programmierer war Bill Gates. Die Entwicklung von Programmiersprachen-Paketen für die beginnende Personal- und Homecomputer-Industrie war das erste Geschäftsfeld seiner 1976 gegründeten Firma Microsoft.
Der erste weit verbreitete »richtige« Personal Computer auf Mikroprozessorbasis wurde von dem Bastelgenie Steve Wozniak entworfen und von dem brillanten Strategen und Visionär Steve Jobs vermarktet: Apple II hieß das 1977 entstandene Gerät, das sich in seinen verschiedenen Versionen bis 1984 Millionen Mal verkaufte. Dieser Computer definierte für fast zehn Jahre, was ein Homecomputer haben musste: Einen eingebauten BASIC-Interpreter, eine fest in das Gerät integrierte Tastatur, gewöhnliche Audiokassetten und später Disketten als Datenspeicher sowie einen Anschluss für die Bildausgabe auf einem gewöhnlichen Fernseher (die privaten User oder kleine Unternehmen konnten sich nicht auch noch einen Monitor leisten, zumal es ihn zu dem Zeitpunkt nur einfarbig gegeben hätte).
Der IBM PC
1981 stieg auch der Großrechner-Multi IBM in das Geschäft mit Personal Computern ein. Es war zwar untypisch für dieses Unternehmen, nicht alle Bauteile eines Computers selbst zu entwickeln, aber aus Gründen des Zeitdrucks kauften sie sich die Bestandteile ihres Geräts auf dem freien Markt zusammen. Der IBM PC war nicht unbedingt besser als seine Vorgänger, aber allein der gute Name des Herstellers schaffte das Vertrauen der Wirtschaft und der Industrie, dass PCs eine solide und zukunftsträchtige Technologie seien.
Einige Jahre war IBM Marktführer im Bereich der Personal Computer. Da jedoch immer mehr Hersteller kompatible Nachbauten auf den Markt brachten, die zunehmend billiger wurden, verlor der Konzern irgendwann den ersten Platz. Zudem zerstritten sie sich 1990 mit ihrem Betriebssystemlieferanten Microsoft. Seitdem wird nicht mehr von IBM definiert, wie ein »richtiger PC« auszusehen hat, sondern von Intel und Microsoft – wegen der Kombination aus Intel-Prozessoren und Microsoft-Windows-Betriebssystemen werden PCs heute mitunter als »WinTel«-PCs bezeichnet.
8-Bit-Homecomputer
Parallel blühte in der ersten Hälfte der 80er-Jahre der Markt mit reinen Homecomputern ohne professionelle Ambitionen. Interessant war auf diesem Gebiet zunächst der ZX81, den der Brite Clive Sinclair entwickelt hatte. Trotz seiner bescheidenen Ausstattung mit 1 KByte Arbeitsspeicher, Schwarzweißgrafik und Folientastatur verkaufte sich das Gerät vorzüglich, weil es der erste Computer war, der weniger als 100 £ kostete.
Der beliebteste Homecomputer der 8-Bit-Generation wurde allerdings der 1983 auf den Markt gebrachte Commodore C64. Eines der wichtigsten Verkaufsargumente war die reichhaltige Auswahl an Software, vor allem Computerspielen. Ein nicht ganz so beliebtes, aber durchaus konkurrenzfähiges Gerät war der Atari 800 XL; für diesen gab es zwar weniger Spiele, aber dafür war er besser programmierbar. Die Unterschiede zwischen diesen beiden Geräten waren allerdings relativ gering. Beide waren mit dem 8-Bit-Prozessor 6502 von MosTek ausgestattet, verfügten über 64 KByte RAM, Grafik mit 320 x 240 Pixeln und 16 Farben (beim Atari mit geringerer Auflösung sogar 256) sowie mehrstimmigen Synthesizer-Sound, der an das angeschlossene Fernsehgerät übertragen wurde. Obwohl die beiden Rechner sich also technisch sehr ähnlich waren, tobten zu jener Zeit »Systemkriege«, die sich ohne weiteres mit den heutigen PC/Macintosh- oder Linux/Windows-»Glaubenskriegen« vergleichen lassen.2
16-Bit-Homecomputer
Die nächste Generation von Homecomputern, die in der zweiten Hälfte der 80er-Jahre erschien, basierte auf dem 16-Bit-Prozessor 68000 von Motorola und seinen Nachfolgern und war mit »richtigen« Betriebssystemen mit grafischer Benutzeroberfläche ausgestattet. Wieder stritten sich Commodore und Atari um den ersten Platz; auch die verschiedenen Modelle von Commodore Amiga und Atari ST waren mit vergleichbaren Features3 ausgestattet. Schon früher, nämlich 1984, war der ähnlich gestaltete Apple Macintosh erschienen; allerdings war er nicht für Heimanwender konzipiert.
Bemerkenswert ist, dass Standard-PCs erst viele Jahre später mit Multimedia-Fähigkeiten ausgestattet wurden, die auch nur ansatzweise mit Geräten wie Amiga oder ST vergleichbar waren. Noch heute sind diese Rechner bei manchen Künstlern oder Musikern beliebt.
Offiziell zählen alle heutigen Computer zur vierten Generation, den Computern mit Mikroprozessoren. Selbst mächtige Servermaschinen oder Großrechner werden durch zahlreiche parallel betriebene Prozessoren realisiert. Eine offizielle fünfte Generation ist niemals ausgerufen worden.
Dennoch zeichnen sich zurzeit verschiedene Entwicklungen ab, die in Zukunft zu einem Wandel auf dem Computermarkt führen könnten. Die wichtigsten sind folgende:
| Es entstehen immer mehr spezielle mobile Geräte, die Teile der Funktion des universellen PCs übernehmen. Dazu gehören Mobiltelefone mit Internet- und Multimedia-Funktionen, PDAs oder spezielle Geräte, die wie eine Armbanduhr oder ein Gürtel getragen werden können oder in Kleidungsstücke eingebaut sind (»Wearable Computers«). Im gleichen Maße wird das Internet, besonders in seiner drahtlosen Form, immer wichtiger. |
| Über die klassische binäre Elektronik hinaus entstehen neue Ansätze für den Bau von Computern. Dazu gehören beispielsweise DNA-basierte »Bio-Rechner« oder Computer auf der Basis von Lichtwellenleitern. Ein weiteres interessantes Projekt ist der Quantencomputer: Da die Quantenmechanik besagt, dass ein Teilchen mehrere Zustände zur selben Zeit aufweisen kann, können so genannte QBits (Quanten-Bits) codiert werden, die »1 und 0 gleichzeitig« beinhalten – das Durchprobieren zahlreicher verschiedener Fälle muss nicht mehr nacheinander geschehen, sondern kann gleichzeitig erfolgen. |
| Überraschend ruhig ist es dagegen in den letzten Jahren in der Öffentlichkeit um die »künstliche Intelligenz« geworden. Inzwischen hat sich die Forschung vorläufig von dem Gedanken verabschiedet, das komplexe menschliche Gehirn nachzuahmen. Stattdessen betreibt man erst einmal Grundlagenforschung und simuliert beispielsweise das Zusammenspiel weniger einzelner Nervenzellen in so genannten neuronalen Netzen. |
Damit ein Computer nützliche Aufgaben erledigen kann, muss er programmiert werden. Da in der kurzen Übersicht über die Computergeschichte bereits von Programmiersprachen die Rede war, folgt hier ein kurzer Abriss über ihre Entwicklung.
Die einzige Sprache, die ein Mikroprozessor wirklich versteht, ist seine Maschinensprache. Sie besteht aus nichts weiter als Zahlen: Jeder Befehl, den der Prozessor »versteht«, besitzt einen bestimmten numerischen Code. Je nach Art des Befehls folgen auf die Befehlsnummer ein oder mehrere Argumente verschiedener Länge.
Ein Maschinenprogramm ist für Menschen so gut wie unlesbar und schon gar nicht schreibbar. Wenn Sie eine binäre Programmdatei mit einem Texteditor öffnen, werden die gespeicherten Zahlen als Zeichen interpretiert; es erscheint merkwürdiger Zeichensalat, an manchen Stellen unterbrochen von kleinen Textblöcken, wenn das Programm normalen Text enthält.
Angenommen, ein Programm enthält den folgenden Befehl:
65 0 0 0 98
Bei dem Befehl 65 könnte es sich beispielsweise um die Anweisung handeln, einen bestimmten Wert auf einen Speicherstapel zu legen; der Wert wird als 32-Bit-Ganzzahl angegeben, hier 98. Im Texteditor würde dies etwa so aussehen:
A b
Das große A besitzt den Zeichencode 65, das kleine b 98. Die drei Null-Bytes werden in manchen Editoren als merkwürdige Sonderzeichen, in anderen als Leerzeichen angezeigt. Ein Rückschluss auf die tatsächlichen Befehle ist so gut wie unmöglich.
Wenn Sie überhaupt jemals gezwungen sein sollten, Maschinensprachdateien von Hand zu modifizieren (zum Beispiel, um ein Computerspiel zu überlisten), verwenden Sie besser einen Hex-Editor, der die einzelnen Werte nicht nur als ASCII-Zeichen, sondern zusätzlich auch hexadezimal darstellt. Hier könnte das Ganze folgendermaßen aussehen:
41 00 00 00 52 A b
Um Maschinensprache halbwegs benutzbar zu machen, wurde der Assembler entwickelt. Statt die Befehle mit ihren tatsächlichen Zahlencodes zu schreiben, werden sie durch Kürzel dargestellt, die man sich mehr oder weniger gut merken kann – daher auch der Name »Mnemonics«. In der Regel werden diese Namen für die jeweiligen Assembler-Befehle unmittelbar vom Prozessorhersteller selbst festgelegt, um jegliches Chaos zu vermeiden.
Die Assembler-Sprache ist von Prozessor zu Prozessor völlig verschieden. Jede Prozessorarchitektur versteht ihre ganz eigenen Arten von Befehlen, die entsprechend unterschiedlich in Assembler umgesetzt werden.
Assembler ist sowohl der Name für diese vereinfachte Schreibweise der Maschinensprache als auch der Name für das Programm, das diese Sprache in die eigentliche Maschinensprache umsetzt (im Englischen wird die Sprache allerdings eher als Assembly Language bezeichnet).
Das Assembler-Programm führt gegenüber der eigentlichen Maschinensprache oft eine Reihe von Erleichterungen ein. Viele Assembler beherrschen etwa die Definition so genannter Makros: Immer wiederkehrende Abfolgen von Befehlen erhalten einen eindeutigen Namen und können dann später unter diesem Namen aufgerufen werden.
Assembler – praktischer Einsatz
Assembler wird heutzutage kaum noch zur Programmierung verwendet, zumindest nicht zur Erstellung vollständiger Programme. Wichtige Ausnahmen sind folgende:
| 1. | In Betriebssystemen sind einige der besonders hardwarenahen Kernroutinen im Assembler des jeweiligen Prozessors geschrieben, und zwar vor allem deswegen, damit der gesamte Rest des Systems so weit von der Hardware abstrahiert wird, dass er vollständig in einer höheren Sprache – meist C – geschrieben werden kann. Diese Vorgehensweise wurde in den 70er-Jahren bei der Implementierung von UNIX entwickelt und gilt noch heute. |
| 2. | Auch Gerätetreiber, die zu den wichtigsten Bestandteilen der Betriebssysteme gehören, müssen manchmal in Assembler geschrieben werden. |
| 3. | Bestimmte Teile von Computerspielen werden hin und wieder in Assembler geschrieben. Spiele-Programmierern, besonders von schnellen 3-D-Spielen, kommt es vor allem auf Geschwindigkeit an. |
| 4. | Besonders systemnahe Computerviren (Bootsektorviren, die den Startbereich eines Datenträgers infizieren, und Programmviren, die ausführbare Programme befallen) sind meistens vollständig in Assembler geschrieben. |
Als praktischen Ersatz für die maschinenorientierten Sprachen wurden seit Mitte der 50er-Jahre die problem- oder benutzerorientierten Programmiersprachen eingeführt. Ihr Vorrat an möglichen Befehlen und ihre Syntax orientierten sich eher an den Bedürfnissen der Programmierer als an denen des Rechners.
Diese Programmiersprachen müssen in die Maschinensprache des konkreten Prozessors übersetzt werden. Dazu wurden zwei grundlegende Vorgehensweisen entwickelt:
| Der Compiler erzeugt ein dauerhaft lauffähiges Maschinensprach-Programm und speichert es als ausführbares Programm (binary executable) ab. |
| Der Interpreter übersetzt den Quellcode dagegen Zeile für Zeile; der Code wird also während der Ausführung (zur Laufzeit) übersetzt. Interpretierte Sprachen werden häufig auch als Skriptsprachen bezeichnet. |
Die erste Generation der höheren Programmiersprachen war sehr einfach. Beispielsweise gab es noch keine echte Programmstrukturierung. Das ursprüngliche BASIC verwendete etwa Zeilennummern, zu denen gesprungen werden konnte; Fortran benutzt spezielle Sprungmarken.
Jede dieser frühen Sprachen hatte eine spezielle Ausrichtung oder einen besonderen Verwendungszweck:
| Fortran, entwickelt in den 50er-Jahren, ist die Abkürzung für »Formula Translator«. Es handelt sich um eine besonders im Hinblick auf mathematische Bedürfnisse geschriebene Sprache. Sie wird manchmal auch heute noch von Ingenieuren oder Mathematikern gern verwendet. |
| Cobol wurde ebenfalls in den 50er-Jahren entwickelt. Der Name ist die Abkürzung für »Common Business-Oriented Language«; es handelt sich also um eine Sprache für kaufmännische Anwendungszwecke, für Handel und Wirtschaft. Cobol ist eine relativ »geschwätzige« Sprache. Es braucht relativ viele Worte, um verhältnismäßig kurze Anweisungen auszudrücken. Beispielsweise können Sie in fast jeder Programmiersprache folgendermaßen den Wert der Variablen b durch 7 teilen und das Ergebnis in einer zweiten Variablen namens a speichern: |
a = b / 7
| In Cobol wird dagegen folgende Anweisung verwendet: | |
DIVIDE B BY 7 GIVING A
| BASIC wurde 1960 am britischen Dartmouth College entwickelt. Der Name steht für »Beginners’ All-purpose Symbolic Instruction Code«; es handelt sich also um eine eher einfache Sprache für Anfänger. Die Sprache fand seit der zweiten Hälfte der 70er-Jahre, als die neu gegründete Firma Microsoft sie zum ersten Mal für Personal Computer anpasste, eine gewaltige Verbreitung: So gut wie jeder 80er-Jahre-Homecomputer hatte irgendeine BASIC-Variante im ROM eingebaut. |
Ein BASIC-Beispiel
| Zur Verdeutlichung sehen Sie hier ein kleines Beispielprogramm in »allgemeinem« BASIC, das fast jeder klassische BASIC-Interpreter verstehen würde: | |
10 PRINT "Wie heißt du?" 20 INPUT A$ 30 PRINT A$; " ist ein interessanter Name." 40 PRINT "Noch mal (j/n)?" 50 INPUT J$ 60 IF J$ = "j" THEN GOTO 10
| Die einzelnen Programmzeilen bedeuten Folgendes: | |
Diese Programmiersprachen erlauben eine Strukturierung von Programmen, darüber hinaus ist eine gewisse Modularisierung möglich: Programme können in kleinere logische Einheiten eingeteilt werden, Prozeduren oder Funktionen genannt. Diese sind bis zu einem gewissen Grade wieder verwendbar.
Pascal wurde seit 1968 von dem Schweizer Mathematikprofessor Niklaus Wirth ausdrücklich als Lehrsprache entwickelt. Noch heute ist Pascal eine der beliebtesten Sprachen, um Schülern oder Studenten das Programmieren beizubringen, weil die Sprache zu einer klaren Programmstrukturierung zwingt.
C wurde 1971 von Dennis Ritchie und Brian Kernighan bei AT&T entwickelt, insbesondere, um eine portierbare (auf andere Rechnerplattformen übertragbare) Version des Betriebssystems UNIX zu schreiben. Ursprünglich wurde C für einen ganz bestimmten Computer und dessen Besonderheiten entwickelt, die DEC PDP-7. Aus diesem Grund ist C erstaunlich nah an den Fähigkeiten von Assembler, ohne so benutzerunfreundlich zu sein wie dieser.
Ein Pascal-Beispiel
Hier sehen Sie zunächst ein einfaches Pascal-Programm:
PROGRAM tagesgruss;
VAR name: STRING;
zeit: INTEGER;
BEGIN
writeln ('Hallo. Gib deinen Namen ein!');
readln (name);
writeln ('Gib die Uhrzeit ein - nur Stunde!');
readln (zeit);
IF zeit < 12 THEN
writeln ('Guten Morgen ', name)
ELSE IF zeit < 18 THEN
writeln ('Guten Tag ', name)
ELSE
writeln ('Guten Abend', name);
END.
Das Programm begrüßt den User freundlich mit »Hallo«, und er wird aufgefordert, seinen Namen einzugeben. Daraufhin wartet es auf die Eingabe, die in der Variablen name gespeichert wird. Als Nächstes fragt das Programm nach der Uhrzeit beziehungsweise genauer nach der Stunde.
In den verschachtelten IF-ELSE-Bedingungen wird dann je nach Tageszeit »Guten Morgen«, »Guten Tag« oder »Guten Abend« ausgegeben.
Ein C-Beispiel
C wird in Kapitel 5, Grundlagen der Programmierung, ausführlich behandelt. Trotzdem sehen Sie hier als Kontrast zu Pascal bereits ein kleines C-Beispielprogramm:
#include <stdio.h>
int main ()
{
int a, b;
printf ("Geben Sie die erste Zahl ein: ");
scanf ("%d", &a);
printf ("Geben Sie die zweite Zahl ein: ");
scanf ("%d", &b);
if (a < b)
printf ("%d ist kleiner als %d.\n", a, b);
else if (a > b)
printf ("%d ist groesser als %d.\n", a, b);
else
printf ("Zweimal die Zahl %d.\n", a);
return 0;
}
Es wird die Eingabe zweier Zahlen erwartet. Anschließend werden die beiden Zahlen verglichen; je nach Größe der beiden Zahlen wird eine entsprechende Meldung ausgegeben.
Die wichtigste Besonderheit ist, dass es kein Hauptprogramm gibt wie in Pascal, sondern nur die spezielle Funktion main(), die vom Betriebssystem aufgerufen wird. Die weiteren Eigenheiten von C werden, wie gesagt, in Kapitel 5 erläutert.
In einer objektorientierten Sprache wird in wieder verwendbaren Paketen programmiert, den so genannten Klassen. Eine Klasse ist eine allgemeine Vorlage für die Konstruktion von Objekten. Ein Objekt ist eine Datenstruktur, die selbst Funktionen enthält, um sich auf die gewünschte Art und Weise zu »verhalten«.
Die wichtigsten Vorteile dieser Art der Programmierung sind folgende:
| Kapselung: Datenstrukturen außerhalb eines Objekts können nicht direkt dessen innere Daten manipulieren, sondern nur seine offiziellen Methoden (Schnittstellen nach außen) benutzen. Dies sorgt für ein klares Programmdesign und schützt vor vielen Fehlern. |
| Vererbung: Klassen können ihre Eigenschaften und Methoden an »Kind-Klassen« abgeben, in denen nur noch die Unterschiede programmiert werden müssen. Dies beschleunigt die Softwareentwicklung und macht Programme noch einmal erheblich übersichtlicher. |
Zu den wichtigsten objektorientierten Programmiersprachen gehören folgende:
| SmallTalk war die erste objektorientierte Sprache überhaupt. Sie wurde in den 70er-Jahren zur Programmierung der ersten grafischen Benutzeroberfläche entwickelt. |
| C++ ist die objektorientierte Erweiterung der Programmiersprache C und wurde von Bjarne Stroustrup entwickelt. Da C++ abwärts kompatibel zu C ist, wurde die Sprache bald von C-Programmierern eingesetzt; ihre besonderen Vorteile als objektorientierte Sprache wurden aber erst langsam angenommen. |
| Java besitzt vor allem die Besonderheit, dass es sich um eine plattformunabhängige Sprache handelt. Sie brauchen ein Java-Programm nur einmal zu kompilieren, es läuft innerhalb eines speziellen Programms für die verschiedenen Plattformen, der virtuellen Java-Maschine (JVM). |
| C# ist eine recht neu entwickelte Sprache von Microsoft. Es handelt sich um eine der Sprachen, mit denen Anwendungen für das .NET-Framework entwickelt werden können. Zwar betont Microsoft aus Marketing-Erwägungen stets die Verwandtschaft mit C++, aber dennoch hat C# mehr mit Java gemeinsam als mit C++. |
| << zurück |
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.