23,99 €
Studierende von Bachelor-Studiengängen an Hochschulen und Universitäten, bei denen die Informatik auf irgendeine Weise im Curriculum auftaucht, dürfen sich freuen. Dieses Buch verschafft Ihnen - so einfach, schnell und unterhaltsam wie möglich - einen umfassenden Überblick über die praktische, theoretische und technische Informatik. Sie können das Buch ergänzend zur Vorlesung oder zum Selbststudium nutzen. Der Autor kennt die typischen Probleme der Studierenden. Überwinden Sie Ihre Scheu vor Formalismen. Entdecken Sie den Reiz der Computerwissenschaften! Dies ist das perfekte Buch für den Einstieg in die Informatik.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 1287
Veröffentlichungsjahr: 2017
Informatik für Dummies. Das Lehrbuch.
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
1. Auflage 2017
© 2017 WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverfoto: © foto_don – Fotolia.com
Korrektur: Petra Heubach-Erdmann, Düsseldorf
Satz: inmedialo Digital- und Printmedien, Plankstadt
Druck und Bindung:
Print ISBN: 978-3-527-71024-9
ePub ISBN: 978-3-527-81027-7
mobi ISBN: 978-3-527-81026-0
Über den Autor
Ernst Georg Haffner studierte Informatik und Mathematik an der Universität in Kaiserlautern mit Schwerpunkt Künstliche Intelligenz. Er erwarb das Diplom der Informatik im Bereich Lernende Systeme. Nach einigen Jahren Industrieerfahrung arbeitete er als wissenschaftlicher Mitarbeiter am Institut für Telematik an Sicherheitslösungen im Internet. Mit Themen zu intelligenten Webapplikationen wurde er an der Universität Trier promoviert. Seit 2002 lehrt und forscht er als Professor für Mathematik und Informationstechnik im Fachbereich Technik an der Hochschule Trier.
Auf einen Blick
Einführung
Teil I: Informatik zum Verlieben
Kapitel 1: Informatik im Schnelldurchlauf
Kapitel 2: Was die Informatik im Inneren zusammenhält
Kapitel 3: Im Dschungel von Bits und Bytes
Kapitel 4: Wie Informatiker denken
Teil II: Schöne neue digitale Welt
Kapitel 5: Fingertechnik
Kapitel 6: Heilen mit boolescher Algebra
Kapitel 7: Schalten und Walten
Kapitel 8: Fangen mit Schaltnetzen
Kapitel 9: Schaltwerke der Menschheitsgeschichte
Kapitel 10: Mikroprogramme im Land der Automaten
Teil III: Besichtigung der Maschinenhalle
Kapitel 11: EVA und die Vertreibung aus dem Paradies
Kapitel 12: Alle Macht der Zentraleinheit
Kapitel 13: Speicher im ganzen Haus
Kapitel 14: Mit dem Bus zum BIOS
Kapitel 15: Cache me if you can
Teil IV: Sprachen für Computer
Kapitel 16: Warum alles so kompliziert ist
Kapitel 17: Programmiersprachen und Werkzeuge
Kapitel 18: Bestandteile einer Programmiersprache
Kapitel 19: Auf was Sie beim Programmieren achten sollten
Kapitel 20: Programme entwickeln mit System
Teil V: C und andere Vitamine
Kapitel 21: Wer A sagt, muss auch C sagen
Kapitel 22: C als Muttersprache
Kapitel 23: Fiese Tricks in ANSI C
Kapitel 24: Abheben mit C++
Kapitel 25: Apps mit Objective-C und Swift
Teil VI: Eruption aus Java
Kapitel 26: Heißer Kaffee
Kapitel 27: Felder und mehr
Kapitel 28: Klasse Klassen
Kapitel 29: Sammeln für Java
Kapitel 30: Apps mit Android
Teil VII: Datenstrukturen und Algorithmen für die Ewigkeit
Kapitel 31: Algorithmen für den Hausgebrauch
Kapitel 32: Elementare Datenstrukturen
Kapitel 33: Tabellen für alle Einsatzzwecke
Kapitel 34: Wald und Bäume überblicken
Kapitel 35: Jede Menge Graphen
Teil VIII: Computerarchitektur als Gesamtkunstwerk
Kapitel 36: Betriebssysteme
Kapitel 37: Architektur von Software
Kapitel 38: Datenbanksysteme
Teil IX: Künstliche Intelligenz gegen natürliche Dummheit
Kapitel 39: Führung durch die Asservatenkammer
Kapitel 40: Spielend suchen und finden
Kapitel 41: Lärmende Systeme
Kapitel 42: Expertensysteme für Profis
Kapitel 43: Kunstvolle neuronale Netze
Teil X: Im Netz der Netze
Kapitel 44: Ganz nach Protokoll
Kapitel 45: Gestalten und Gestaltung im Web
Kapitel 46: Skriptsprachen
Kapitel 47: Socket- und Threadprogrammierung
Kapitel 48: Durchblick und Ausblick
Teil XI: Die praktischen Seiten der theoretischen Informatik
Kapitel 49: Komprimierte Information
Kapitel 50: Formulare für formale Sprachen
Kapitel 51: Logik und Korrektheit für Informatiker
Kapitel 52: Theorie für Unberechenbare
Kapitel 53: Mittel gegen theoretische Komplexe
Teil XII: Top Secret
Kapitel 54: Risiken und Manager
Kapitel 55: Angriffsarten und Schutzmaßnahmen
Kapitel 56: Vierbeiniger Besuch aus Troja
Kapitel 57: Alice und Bob im Wunderland der Zahlen
Kapitel 58: Wände gegen Feuer
Teil XIII: Der Top-Ten-Teil
Kapitel 59: Zehn bedeutende Meilensteine der Informatik
Kapitel 60: Die zehn schlimmsten Irrtümer der Informatik
Stichwortverzeichnis
Inhaltsverzeichnis
Über den Autor
Einführung
Zu diesem Buch
Konventionen in diesem Buch
Törichte Annahmen über den Leser
Wie dieses Buch aufgebaut ist
Symbole in diesem Buch
Wie es weitergeht
TEIL I INFORMATIK ZUM VERLIEBEN
Kapitel 1 Informatik im Schnelldurchlauf
Mathematik der Information
Pandoras Büchse
Evolution einer fantastischen Idee
Praktische Theorien in der Informatik
Gigantische Möglichkeiten der Technik
Denkende Computer
Kapitel 2 Was die Informatik im Inneren zusammenhält
Einblicke und Ausblick
Säulen der Softwaretechnik
Modularität
Wiederverwendbarkeit
Wechselseitige Impulse durch Hardware und Software
Disziplinen der Informatik
Wirtschaftsinformatik
Bioinformatik
Medizininformatik
Computerlingusitik
Medieninformatik
Geoinformatik
Umweltinformatik
Sozioinformatik
Kapitel 3 Im Dschungel von Bits und Bytes
Hochgeschwindigkeitstechnik im Kleinstformat
Atemberaubende Speichermöglichkeiten
Die Welt in Zahlen
Von Maschinensprache zu Hochsprache
Übersetzen und Interpretieren
Steuern und Regeln
Kapitel 4 Wie Informatiker denken
Logische Vorschriften
Öffentlich, aber diskret
Teilen und Herrschen
Rekursiv statt zurück
Nerds am Werk
Zeitloses von nutzlosem Wissen unterscheiden
TEIL II SCHÖNE NEUE DIGITALE WELT
Kapitel 5 Fingertechnik
Alles wird digital
Warum zwei Werte reichen
Bitte ein Byte!
Textwerte ermitteln
Malen statt Zahlen
Konvertierung von Dezimalzahlen in Binärzahlen
Hex hex!
Rechnen im Dualsystem
Addition
Negation
Subtraktion
Multiplikation
Division
Festpunkt und Fließkomma
Große und kleine Zahlenbereiche
IEEE-754
Fallstricke der Gleitkommaarithmetik
Kapitel 6 Heilen mit boolescher Algebra
Allheilmittel Algebra
Logische Verknüpfungen
Gesetze und Regeln
Assoziativgesetze
Kommutativgesetze
Distributivgesetze
Neutralität und Komplement
Idempotenz und Absorption
Dualitätsprinzip
De Morgan
Stunde der Wahrheitstabellen
Digitale Vergatterung
Basis und Komposition
Äquivalenz
Antivalenz
Implikation
NAND und NOR
Stolpersteine der booleschen Algebra
Kapitel 7 Schalten und Walten
Entwurfsprobleme spielend lösen
Funktionen in Wahrheitstafeln
Normale Formen
Disjunktive Normalform
Konjunktive Normalform
Don’t Care? Ist mir doch egal!
Minimierung von Termen
KV-Diagramme
Der Quine-McCluskey-Algorithmus
Kapitel 8 Fangen mit Schaltnetzen
Durchblick in Schaltungen
Lustige Symbole
Decodiernetzwerke
Multiplexer ohne Komplexe
Komparator für Dualzahlen
Halb- und Volladdierer
Gatterlaufzeiten
Klitschige Glitches
Kapitel 9 Schaltwerke der Menschheitsgeschichte
Schmerzfreie Rückkopplungen
Zustände wie bei den Graphen
Kritische Läufe
Flanken ohne Tore
Familie der Flipflops
SR-Flipflop
Data Latch
D-Flipflop
Taktflankengesteuertes Flipflop
JK-Flipflop
Zähler mit Flipflops
Schiebung in den Registern
Kapitel 10 Mikroprogramme im Land der Automaten
Synchrone Automaten
Mealy-Automat
Moore-Automat
Entwurf von Schaltwerken
Steuern für ein gutes Werk
Mikroprogramme als Meisterwerke
TEIL III BESICHTIGUNG DER MASCHINENHALLE
Kapitel 11 EVA und die Vertreibung aus dem Paradies
Digitale Kernspaltung
Eingabe, Verarbeitung und Ausgabe
Rechnerarchitektur von Neumann
Komponenten eines modernen Computers
Spannung zwischen Zentrale und Peripherie
Kapitel 12 Alle Macht der Zentraleinheit
Kein Prozess ohne Prozessor
Steuern für ein gutes Werk
Konstruktion aus ALU
Registerspeicher mittendrin
Die Fäden laufen zusammen
Laden
Programme mit System
An den Start – es geht los!
Kapitel 13 Speicher im ganzen Haus
Komische Speichertypen
Ohne RAM läuft nichts
Alle Wege führen zum ROM
Speicher für die Massen
Festplatten
DVDs & Blu-rays & mehr
Kapitel 14 Mit dem Bus zum BIOS
Organisation von Ein- und Ausschaltvorgängen
Unterbrechungen mit Interrupts
Interrupt Request
Interrupt-Service-Routine
Fit trotz Ablaufinvarianz
Schnittstellen ohne Verletzungen
Eingabegeräte
Tastatur
Maus
Touchpad & Touchscreen
Scanner
Ausgabegeräte
Display
Drucker
Kapitel 15 Cache me if you can
Risiken reduzieren mit RISC
Pipelines ohne Öl
Parallele Welten
Leckere Mehrkern-Brötchen
Super, so ein Computer
Entwirrung der Fäden
Cache bringt Cash
Architekturen der Zukunft – ein Blick in die Glaskugel
TEIL IV SPRACHEN FÜR COMPUTER
Kapitel 16 Warum alles so kompliziert ist
Fallstricke menschlicher Sprache
Maschinenlesbares Kauderwelsch
Assemblercode zum Abgewöhnen
Unterprogramme
Gipfel erklimmen mit Hochsprachen
Kapitel 17 Programmiersprachen und Werkzeuge
Programmieren als Kunstform
Interpreter ohne Spielraum
Programme, die Programme schreiben
Werkzeuge zum Übersetzen
Ein bunter Strauß von Programmiersprachen
Imperative und deklarative Programmiersprachen
Funktionale Programmiersprachen
Objektorientierte Programmiersprachen
Kapitel 18 Bestandteile einer Programmiersprache
Backus-Naur-Kuchenform
Bezeichner und Konstanten
Operatoren
Gleich ist nicht gleich gleich
Atomare Datentypen
Kontrollstrukturen, so weit das Auge reicht
Erlaubte Ausdrücke
Ausnahmsweise eine Exception
Angekettete Strings
Ein Strom von Streams
Argumente und Parameter
Kapitel 19 Auf was Sie beim Programmieren achten sollten
Reusability Reusability Reusability
Abstraktion als Universalwaffe
Barrieren
Kapselung
Modularisierung
Schnittstellen ohne Schmerzen
Wert eines Ausdrucks und Seiteneffekt
Ende des Arrays
Gefährliche Zeiger
Kapitel 20 Programme entwickeln mit System
Entwickeln in behaglicher Umgebung
Bibliotheken ohne Bücher
APIs effektiv nutzen
Lebenszyklus eines Programms
TEIL V C UND ANDERE VITAMINE
Kapitel 21 Wer A sagt, muss auch C sagen
Das kleine A-B-C
Programmaufbau in C
B-Zeichner
Das sind Argumente
Musterbeispiel verstehen
Zeigerzauberwelt
Kapitel 22 C als Muttersprache
Atomare Datentypen
Operationen mit Operatoren
Ein weites Feld von Arrays und Structures
Zeichen in Ketten legen
Kontrollstrukturen
if-else
switch
for
while
Mit Dateien arbeiten
Standardkanäle
Kapitel 23 Fiese Tricks in ANSI C
Spiel mit den Pointern
Warum kurz, wenn es noch kürzer geht?
Zeiger und Felder
C für flinke Finger
Dynamisch trotz static
Fehler auf dem Behandlungsstuhl
Kapitel 24 Abheben mit C++
Objekte und Klassen
Die Sache hat Methode
Vererbungslehre
Operatoren überladen
Ein- und Ausgabe neu ordnen
Strings zum Verlieben
Streams und Stringstreams
Ein Königreich für ein Template
Öffnungszeiten der Standardbibliothek
Werfen und Fangen: Ausnahmebehandlung
Virtuelle Methoden
Polymorphie und ihre Heilungschancen
Kapitel 25 Apps mit Objective-C und Swift
Apps für Eier
Kurzer Plausch über Smalltalk
Instanzen verstehen
Synthetische Objekte
… Faulheit siegt!
Design Pattern für Apps
Model View Controller (MVC)
Delegation
Schnelle Aufzählung
Swift ist besser
TEIL VI ERUPTION AUS JAVA
Kapitel 26 Heißer Kaffee
Java für alle
Virtuelle Maschinen
Bezeichner und Variablen
Nicht einwickeln lassen
Kontrolle mit Struktur
Kapitel 27 Felder und mehr
Arrays
Initialisierung
Zugriff auf Elemente
Kopie und Vergleich
Iteration und Rekursion
Grafische Komponenten und Applets
Kapitel 28 Klasse Klassen
Objekte der Begierde
Kapseln mit Methode
Von Face zu Interface
Abstrakte Basisklassen
Casting von Typen
Vergleichen und Kopieren
Kapitel 29 Sammeln für Java
Collections verwenden
Mit Iteratoren klettern
Exceptions sinnvoll behandeln
Zugesicherte Assertions
Kapitel 30 Apps mit Android
Entwickeln in der richtigen Umgebung
XML und Android
UI, tolle Elemente
TEIL VII DATENSTRUKTUREN UND ALGORITHMEN FÜR DIE EWIGKEIT
Kapitel 31 Algorithmen für den Hausgebrauch
Systematik von Programmen
Teile und herrsche!
Zauberkraft durch Rekursion
Türme von Hanoi
Euklid & Co
Analyse von Algorithmen ohne Komplexe
O-Ton der O-Notation
Kapitel 32 Elementare Datenstrukturen
Abstrakte Datentypen
Listige Listen
Stacks im Keller
Schlängelnde Queues
Doppelt gemoppelte Deques
Klang der Strings
Struktur von Zeichenketten
Aufspüren von Mustern
Kapitel 33 Tabellen für alle Einsatzzwecke
Struktur von Tabellen
Sequenzielle Suche
Binäre Suche
Sortierverfahren
Selectionsort
Bubblesort
Für die ganz Eiligen: Quicksort
Völlig legal: HashTables
Hashing ohne Kollisionen
Kapitel 34 Wald und Bäume überblicken
Äste an Wurzeln
Binärbäume für die Informatiker
Ordnung in den Laden bringen
davor (pre)
dazwischen (in)
dahinter (post)
Früchte der Syntaxbäume
Entscheidungsbäume
Kapitel 35 Jede Menge Graphen
Graphen vor Gericht
Erforschung von Graphen
Schmerzlose Adjazenz
Planierte Graphen
Langer Weg zum kürzesten Graphen
Minimaler Spannbaum
Algorithmus nach Kruskal
TEIL VIII COMPUTERARCHITEKTUR ALS GESAMTKUNSTWERK
Kapitel 36 Betriebssysteme
Rechte und Pflichten
Administratoren und DAUs
Prominente Vertreter
Ordnerstrukturen für Dateien
Tasks den Prozess machen
Nadel und Threads
Virtuelle Echtzeitanforderungen
Kapitel 37 Architektur von Software
Architekten für Programme
Gebäude mit drei Stockwerken
Anforderungsanalysen
Lasten- und Pflichtenhefte
Modellieren mit UML
Vorgehensmodell zur Software-Entwicklung
Kapitel 38 Datenbanksysteme
Bank für Daten
Relationale Datenbanksysteme
SQL im Crashkurs
create
select
insert
delete
NoSQL
Offene Quellen
TEIL IX KÜNSTLICHE INTELLIGENZ GEGEN NATÜRLICHE DUMMHEIT 601
Kapitel 39 Führung durch die Asservatenkammer
Cyborgs auf der Spur
Wissen ohne Gewissen
Planen und Entscheiden
Musteranalyse und -erkennung
Intelligente Agenten oder Suche oder was?
Künstliche Wesen mit eigenem Bewusstsein
Kapitel 40 Spielend suchen und finden
Aufspüren mit GPS
Bergsteiger-Methode
Heuristische Suche im Heu
Navigieren zu den Sternen mit dem A*-Algorithmus
Spaß mit MINIMAX und Moritz
Beschneidungen von Alpha bis Beta
Kapitel 41 Lärmende Systeme
Maschinelles Lernen
Inferenz ohne Sperenzien
Landung auf der Wissensbasis
Induktive und deduktive Methoden
Rauschen im Datenwald
Lernen mit Konzept
Entscheiden lernen mit Bäumen
Lernen ohne Lehrer
Kapitel 42 Expertensysteme für Profis
Prolog
Expertenwissen
Diagnosen vom Elektronenhirn
Fallbasiertes Schließen
Vorhersagen treffen und reich werden
Kapitel 43 Kunstvolle neuronale Netze
Kopieren geht über Studieren
Vorwärts zu den verketteten Netzen
Rosenblatts Theorem
Regeln zum Lernen
Das XOR-Problem
Fortschritt durch Backpropagation
Quetsch mich!
Herleitung der Fehlerfunktion
Gewichtsanpassung eines Neurons im Output-Layer
Gewichtsanpassung eines inneren Neurons
Diverse Varianten
Die Macht der Rückkopplungen
Attraktive Attraktorennetze
Grenzenlose Anwendungsfelder
Natürliche Sprache
Wahrnehmung der Umgebung
TEIL X IM NETZ DER NETZE
Kapitel 44 Ganz nach Protokoll
Militärische Ideen
Tanz um die Redundanz
Das Internet-Protokoll
Schichten und Geschichten
Handschlag für TCP
Hubs, Switches und Router
Übersicht der wichtigsten Dienste
Kapitel 45 Gestalten und Gestaltung im Web
Webtechnologie für Insider
HTTP in Kurzform
HTML in Kurzform
HTML bis XML
Unbegrenzte Möglichkeiten
Kapitel 46 Skriptsprachen
Geschälte Shell-Skripte
Kein bisschen umständlich: awk
Perlentauchen mit perl
Siegeszug von PHP
JavaScript
Kapitel 47 Socket- und Threadprogrammierung
Spaß mit Client und Server
Socken für die Sockets
Prozesse und Threads
Das Erzeuger-Konsumenten-Problem
Schutz durch Mutexe
POSIX-Standard
Eine eigene Bank bauen
Kapitel 48 Durchblick und Ausblick
Vom Web getrieben
Ad hoc statt lang geplant
Big Data für Big Brother
Im Nebel der Cloud
Weltweite Aussichten
TEIL XI DIE PRAKTISCHEN SEITEN DER THEORETISCHEN INFORMATIK
Kapitel 49 Komprimierte Information
Dreiklang der Information
Transportieren und speichern
Sinnfreies Messen von Information
Gehalt für Entscheidungen
Entropie als Theorie der Unordnung
Kompressen ohne Mull
Optimale Codes
Shannon-Fano
Huffman
Kapitel 50 Formulare für formale Sprachen
Alphabet und Grammatik
Endliche Automaten und Sprachen
Reguläre Sprachen
Immer den Kontext beachten
Pumpen für den Beweis
Freiheit für den Kontext
Kapitel 51 Logik und Korrektheit für Informatiker
Logische Aussagen
Prädikat wertvoll
Armer Gödel
Korrektheit von Programmen
Formale Verifikation ohne Schmerzen
Kapitel 52 Theorie für Unberechenbare
Algorithmen entschlüsseln
Anwerfen der Turing-Maschine
Berechenbare Turing-Programme
Halteproblem ohne Züge
Kapitel 53 Mittel gegen theoretische Komplexe
P wie praktische Probleme
SAT-Probleme bei bestem Empfang
Ganz bestimmt nicht-deterministisch
Ein schwerer Rucksack
Händler auf der Reise
Cooks Geniestreich
NP-Vollständigkeit und der Gral der Weisheit
Was wäre, wenn?
TEIL XII TOP SECRET
Kapitel 54 Risiken und Manager
Grundfeste der Informationssicherheit
CIA-Triade
Ganz sichere Fakten über Risiken
Risikolebenszyklus
Wichtige Rollen und Dokumente
Information Security Policy
Internationale Sicherheitszertifizierungen
Kapitel 55 Angriffsarten und Schutzmaßnahmen
Offene und verborgene Bedrohungen
Einbrecher ohne Handschuhe
Soziales Hacken und Phishing
Der Mann in der Mitte und andere Angriffsmöglichkeiten
Password Guessing
Password Cracking
Passwort-Sniffing
Man-In-The-Middle
Technische Problemzonen
Designfehler
Pufferüberlauf
Exploit
Überflutung
Protokollschwächen
Schnüffeln und Verschleiern
IP-Angriffe
TCP-Angriffe
Protokolle mit »S«
Per Tunnel in die Sicherheit
WLAN ohne böse Überraschung
Kapitel 56 Vierbeiniger Besuch aus Troja
Kleinstlebewesen in der Informatik
Funktionsprinzip der Viren
Infektionsarten
Gemeine Viren
Rasende Würmer
Pferde, die keine sind
Spam, Spam, Spam
Antiviren als Antikörper
EICAR-Test positiv
Logische Bomben
Kapitel 57 Alice und Bob im Wunderland der Zahlen
Dieser Abschnitt ist geheim
Wfstdimvfttfmvohtwfsgbisfo
Caesar
Vigenère
Symmetrische Klassiker
DES
3DES
AES
One Time Pad
Paradox: Sichere Kommunikation über unsicheren Kanal
Diffie-Hellman
RSA
Aufbau von Kryptosystemen
Ring of Trust
Kapitel 58 Wände gegen Feuer
Moderne Sicherheitsinfrastrukturen
Filteranlage für Pakete
Besuch beim Statusinspektor
Stellvertreter-Systeme für und gegen alles
Eindringlinge geschickt identifizieren
TEIL XIII DER TOP-TEN-TEIL
Kapitel 59 Zehn bedeutende Meilensteine der Informatik
Eine sehr, sehr alte Rechenmaschine
Die digitale (Zeit-)Rechnung beginnt
Der wirklich erste Computer
Was wirklich berechenbar ist
Spielend voranschreiten
Personal Computer erobern die Welt
Fenster und Mäuse
Im Netz der Netze
Die mobile Revolution
Jetzt sind Sie am Zug!
Kapitel 60 Die zehn schlimmsten Irrtümer der Informatik
1943, Thomas John Watson, Vorstand IBM
1949, John von Neumann, Informatikpionier
1962, Dennis Gabor, Nobelpreisträger für Physik
1977, Ken Olson, Gründer DEC
1979, Ian Sharp, Gründer Sharp Associates
1982, Jan Timmer, Vorstand Philips
1985, Steve Jobs, Gründer Apple
1989, Bill Gates, Gründer Microsoft
1992, Ron Sommer, Vorstand Telekom
1995, Robert Metcalfe, Gründer 3com, Erfinder Ethernet
Ende
Stichwortverzeichnis
Endbenutzer-Lizenzvertrag
Cover
Inhaltsverzeichnis
Begin Reading
C1
1
2
3
4
7
8
9
11
13
29
30
31
32
33
34
35
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
321
322
323
324
325
326
327
328
329
330
331
333
334
335
336
337
338
339
340
341
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
601
602
603
604
605
606
607
608
609
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
913
914
915
916
917
918
919
920
921
922
Womöglich interessieren Sie sich überhaupt nicht für Informatik. Sie wollen gar nicht wissen, wie PCs oder Tablets funktionieren. Programmiersprachen erscheinen Ihnen überflüssig. Das Internet, künstliche Intelligenz oder gar Informationssicherheit halten Sie für völlig irrelevant. Eigentlich suchen Sie ein Buch über afrikanische Wanderheuschrecken. Nun gut, dann dürfen Sie Informatik für Dummies gerne wieder ins Regal zurückstellen.
Für alle anderen gilt Vorsicht! Wenn Sie weiterlesen, werden Sie vermutlich gar nicht mehr genug bekommen von diesem wohl faszinierendsten und bedeutendsten Fachgebiet unserer Zeit!
Dieses Buch möchte Ihnen helfen, sich rasch einen umfassenden Überblick über die wichtigsten Teilgebiete der Informatik zu verschaffen.
Informatik ist ein »dickes Brett«. Das erkennen Sie allein schon am Umfang des Buches. Aber im Gegensatz zur reinen Mathematik ist die Informatik nicht »trocken«. Wohin Sie auch blicken, alle technischen Innovationen sind von Informatik »durchflutet«. Ob Sie Apps an Ihrem Smartphone bedienen oder sich über die Tricks in einem Spielfilm wundern. Überall steckt Informatik drin. Wichtige technische, praktische und theoretische Grundlagen dazu finden Sie in diesem Buch.
Die konkrete Auswahl der Sachthemen richtet sich nach den typischen Anforderungen in technisch-naturwissenschaftlichen Bachelor-Studiengängen. Allerdings ist Ihr Informatik für Dummies kein Lehrbuch im klassischen Sinne. Es geht nicht darum, jedes Detail systematisch aufzulisten. Das ist in einem einzigen Buch unmöglich zu bewerkstelligen. Vielmehr werden Sie hier neben den erforderlichen Grundlagen auch einige heikle und schwer verständliche Themen vorfinden. Mein Ziel ist es, Ihnen gerade diese Zusammenhänge möglichst klar und präzise zu erläutern. Darüber hinaus habe ich Ihnen eine Reihe von heißen Topics ausgesucht und – glauben Sie mir – davon gibt es jede Menge.
Ich gehe nicht davon aus, dass Sie besondere Schwierigkeiten haben werden, sich in diesem Buch zurechtzufinden. Dennoch erscheint es angebracht, Sie auf ein paar Dinge hinzuweisen.
Den Quellcode von Computerprogrammen stelle ich in einer eigenen Schriftart dar, das sieht dann zum Beispiel so aus:
int fakultaet(int n);
Zu den wenigen größeren Programmbeispielen in diesem Buch dürfen Sie sich den Quellcode auch unter http://www.wiley-vch.de/publish/dt/books/ISBN3-527-71024-8 herunterladen.
Hin und wieder tauchen winzige Texte oder Symbole in Kästchen auf, etwa oder . Damit sind die entsprechenden Tasten auf Ihrer realen Computertastatur beziehungsweise dem virtuellen Tablet-Keyboard gemeint.
Ach ja, bevor ich es vergesse. Nervt es Sie auch, in einem Buch stets die explizite weibliche und männliche Form von Leserinnen, Lesern, LeserInnen und allen anderen Typen von Funktionen, Aufgaben und Dingen in der maximal unleserlichen Darstellung aller Geschlechter zu finden? Ich spreche Sie daher, liebe Leserin, lieber Leser, stets mit der maskulinen Form an, die ich aufgrund der Kürze und der geschlechtlich neutralen Verwendungsmöglichkeit bevorzuge. Keine Sorge, ich behalte Sie alle dabei jederzeit im Blick!
Aufgrund der Tatsache, dass Sie bis zu diesem Abschnitt bei der Lektüre vorgedrungen sind, darf ich von einem gewissen Interesse an Informatik bei Ihnen ausgehen. Oder ist diese Annahme bereits töricht?
Die Zielgruppe dieses Buches sind jedenfalls Studierende von Bachelor-Studiengängen an Hochschulen oder Universitäten, bei denen Aspekte der Informatik auf irgendeine Weise im Curriculum des Basisstudiums auftauchten. Für reine Informatiker ist die Darstellung ihres Lehrgebiets in einem einzigen Band sicherlich zu kompakt.
Auch wenn Sie nicht der primären Zielgruppe angehören, möchte ich Sie keineswegs davon abhalten, sich mit Informatik zu befassen. Im Gegenteil: Ich habe mich sehr bemüht, möglichst allgemein verständlich zu erklären. Deswegen eignet sich das Buch gewiss auch zum Selbststudium. Solange Sie es nicht als Briefbeschwerer einsetzen, bin ich zufrieden.
Aber selbst dann habe ich keinen Grund, mich zu beklagen. Immerhin ist es Ihr Buch und Sie können damit machen, was Sie wollen.
Damit Sie sich im Dschungel der Informatik nicht verirren, habe ich das Buch in 13 Teile aufgeschlüsselt, die insgesamt 60 Kapitel umfassen.
Jedes Kapitel ist seinerseits in Abschnitte gegliedert, wie Sie dem Inhaltsverzeichnis entnehmen. Die einzelnen Teile behandeln die folgenden Themen:
In diesem ersten Teil erhalten Sie einen leicht verdaulichen Überblick über die gesamte Informatik. Sie werden gewiss von den unglaublichen Möglichkeiten ebenso fasziniert sein, wie ich es selbst bin. Außerdem möchte ich Sie für den winzigen, aber wesentlichen Kern begeistern, der die gesamte Informatik zusammenhält. Weiter geht es in diesem Teil um die zahllosen Anwendungsmöglichkeiten der Informatik. Schließlich will ich Ihnen einen kleinen Einblick in das Denken von Informatikern verschaffen, das sich – vielleicht – schon bald nicht mehr von Ihrem eigenen unterscheiden wird.
Dieser Teil befasst sich mit Digitaltechnik, eine der grundlegenden und maßgeblichen Säulen der Informatik. Vom binären Rechnen bis zur booleschen Algebra werden die wichtigsten Themen behandelt. Schaltnetze und Schaltwerke bilden bereits einen Übergang und Anknüpfungspunkt zur Elektrotechnik. Schließlich befasst sich ein eigenes Kapitel mit »Automaten«. Keine Sorge, dabei geht es nicht um tumbe Geräte für Kaugummis, sondern den Wegbereitern zum Verständnis von Mikroprozessoren.
Der dritte Teil ist der technischen Informatik gewidmet. Ausgehend vom Grundkonzept des Computers werden nacheinander »Zentraleinheit« und »Peripherie« beleuchtet. Dazwischen fährt ein »Bus«, genau genommen sogar ganze Linien von Bussen. Immerhin handelt es sich um weite Strecken, zumindest für Objekte von der Größe eines Elektrons. Außerdem werden die unterschiedlichen Speichertechniken unter die Lupe genommen. Garantiert werden Sie nach der Lektüre die Abkürzung »DDR« nicht mehr für einen ehemaligen sozialistischen Staat halten. Der dritte Teil endet mit fortgeschrittenen Computerarchitekturen und einem Blick in die Glaskugel, was uns wohl die Zukunft noch so alles bescheren mag oder auch nicht.
»Wie sag’ ich es meinem Computer?« Um diese zentrale Frage dreht sich alles im vierten Teil. Es geht zunächst um grundsätzliche Schwierigkeiten des Programmierens und deren Auflösung. Außerdem zeige ich Ihnen die nötigen Werkzeuge und Instrumente, wie Sie systematisch von einer gegebenen Fragestellung zu einem funktionierenden Programm kommen. Die Eckpfeiler moderner Softwaretechnik schließen den Teil ab.
Eine der wichtigsten Computersprachen überhaupt nennt sich »C«. Dabei handelt es sich um eine Hochsprache, mit der Sie zugleich hardwarenah programmieren. C ist somit universell einsetzbar. Neben Tipps und Tricks zum ursprünglichen Klassiker gehe ich in eigenen Kapiteln auch auf berühmte Ableger wie »C++« oder »Objective-C« ein. Am Ende wird Ihnen sogar »Swift« begegnen, der jüngste Spross, der für die Entwicklung von Apps auf der iPhone/iPad-Seite immer wichtiger wird.
Ähnlich dynamisch wie das komplette Internet hat sich die Programmiersprache »Java« entwickelt. Die grundlegenden Ideen werden in den insgesamt fünf Kapiteln dieses Teils beleuchtet. Ich werde Ihnen erklären, was es mit Klassen, Strings und Collections auf sich hat. Zum Schluss zeige ich Ihnen sogar, wie Sie Java für die Entwicklung von Apps auf Android-Geräten einsetzen.
Jedes Programm steht und fällt mit dem »Algorithmus«, den es implementiert. Dieser wiederum arbeitet auf »Datenstrukturen«. Datenstrukturen und Algorithmen werden so untrennbar miteinander verflochten. Nacheinander gehe ich auf wichtige Vertreter der jeweiligen Gattungen ein. Ich zeige Ihnen die Verwendung von »Grafen« und »Bäumen«, von »Kellern« und »Schlangen«. Aber keine Sorge, die beißen nicht! Die Verwendung solcher Strukturen wird Ihr Leben wesentlich erleichtern. Ob es ums Suchen oder Sortieren geht, ob Sie spielen oder traversieren. Nach der Lektüre werden Sie die wichtigsten Konzepte beherrschen.
In diesem vergleichsweise kurzen Teil spanne ich den Bogen von Betriebssystemen, ohne die kein Computer läuft, bis hin zu Datenbanken, den Kornkammern unserer Informationsgesellschaft. Dabei zeige ich Ihnen nicht nur die prinzipielle Vorgehensweise, sondern weise Sie in die mystischen Tiefen der drei Buchstaben ein: »SQL«. Daneben geht es auch um die vielen Schritte zur Herstellung einer Anwendung. Angefangen bei der Anforderungsanalyse über die konkrete Implementierung bis hin zu den Testläufen. Der ewige Kreislauf des Software-Lebens …
Längst ist »KI«, die künstliche Intelligenz, ein anerkannter und sehr erfolgreicher Zweig der Informatik. Der Teil beginnt mit einem Kapitel über die unglaublichen Möglichkeiten, die sich durch ihren Einsatz auftun. Sie werden erfahren, wie Brettspiele programmiert werden können, und ich gehe auch näher auf das wohl faszinierendste Teilgebiet der KI ein: »lernende Systeme«. Dazwischen wird sich alles um »Expertensysteme« drehen: Programme, die das Wissen menschlicher Experten kondensieren. Ein eigenes Kapitel widmet sich schließlich dem wichtigen Zweig der »künstlichen neuronalen Netze«.
Jeder benutzt es; nur die wenigsten wissen wirklich, was sie da tun. Ich meine das Internet, das »Neuland für uns alle«. Dieser zehnte Teil Ihres für Dummies-Buches startet mit dem, was das Internet antreibt: den »Protokollen«. Kryptisch für Außenstehende stellen sie jedoch keinerlei Problem für die Eingeweihten dar, zu denen auch Sie am Ende der Lektüre gehören werden.
In den Folgekapiteln geht es darum, was Sie alles mit solchen Protokollen anstellen. Die Gestaltung des »World Wide Web« finden Sie in einem eigenen Kapitel. Noch spannender wird es, wenn Sie im Kapitel »Socket- und Threadprogrammierung« selbst Hand anlegen an die Client-Server-Entwicklung. Schließlich darf ebenfalls ein Kapitel über Clouds und Big Data nicht fehlen.
Dieser Teil ist der theoretischen Informatik gewidmet, die noch weitaus abstrakter als die Mathematik an grundsätzliche Fragestellungen herangeht. Woher wissen Sie, ob Ihr Programm das tut, was es soll? Gibt es Grenzen dessen, was eine Software überhaupt berechnen kann? Ist es prinzipiell vorhersagbar, ob ein Programm jemals halten wird? Ausführliche Antworten auf diese und andere Fragen finden Sie hier. Dazu befassen sich ein eigenes Kapitel mit »formalen Sprachen« und ein weiteres mit »Logik«, dem Fundament der theoretischen Informatik. Berühmte und teilweise bis heute ungelöste Probleme habe ich mir für das letzte Kapitel des Teils aufgehoben. Wer weiß, vielleicht werden Sie nach der Lektüre einen Schlüssel zur Beantwortung dieser offenen Fragestellungen finden und damit Ruhm und Reichtum bis zum Ende Ihrer Tage ernten?
Spätestens seit der Jahrtausendwende ist »Informationssicherheit« zu einem der drängendsten und bedeutsamsten Bedürfnisse moderner Informationstechnologie geworden – vom neuerlichen Stress mit Geheimdiensten ganz zu schweigen. Dieser Teil beginnt mit dem Managen von Risiken und arbeitet sich anschließend systematisch an die wichtigsten Angriffsarten und Schutzmaßnahmen heran. Außerdem möchte ich Ihnen einen Blick auf die zahlentheoretischen Grundlagen gewähren, der für das Verständnis von Verschlüsselung essenziell ist. Ja, das ist Mathematik, das gebe ich zu. Doch Sie werden sich der Faszination dieses Gebiets am Ende nicht mehr entziehen können.
Jedes für Dummies-Buch besitzt einen »Top-Ten-Teil«. Sie glauben mir nicht? Vielleicht befinden Sie sich gerade in einer Buchhandlung. Dann stöbern Sie doch einfach einmal in einem Dummies-Buch zu einem X-beliebigen Thema. Sie werden sehen, der »Top-Ten-Teil« ist obligatorisch. Im vorliegenden Fall geht es um zehn wichtige Meilensteine und zehn furchtbare Irrtümer der Informatik. Mit einem Lächeln werden Sie also die Lektüre beenden, vorausgesetzt, Sie sind nicht so neugierig, als Erstes ganz hinten zu beginnen …
Damit Sie sich leichter in Ihrem Informatik für Dummies-Buch zurechtfinden, habe ich Ihnen einige Stellen mit lustigen Symbolen markiert:
Alles, was Sie sich unbedingt einprägen sollten, wird durch diese Hand hervorgehoben. Den Knoten dürfen Sie sich natürlich auch ins Taschentuch machen.
Erleuchtet! Mit dieser Glühbirne weise ich Sie auf einen Tipp hin. Sparen Sie Zeit und Energie, indem Sie die jeweiligen Ratschläge befolgen.
Dies ist ein Zeichen dafür, dass Ihre höchste Konzentration und Aufmerksamkeit gefordert ist. Ich weise Sie hier auf gefährliche Fallstricke oder typische Fehler hin. Aber keine Sorge, das Symbol taucht nicht allzu oft auf.
Wenn der Dummies-Mann erscheint, müssen Sie damit rechnen, dass der nebenstehende Text recht technisch und vielleicht auch schwierig zu verstehen ist. Trösten Sie sich: Entweder Sie haben ohnehin Spaß daran und lauern schon auf den nächsten Hinweis oder Sie ignorieren den Typen einfach. In beiden Fällen kommen Sie gut mit der restlichen Lektüre klar.
Hin und wieder tauchen sehr wichtige Fachbegriffe auf, die ich möglichst knapp, aber hoffentlich verständlich definiere.
Bei vielen Fragestellungen ist es wichtig, zunächst das Problem in seiner Tiefe zu ergründen. Keine Angst, Sherlock Holmes und ich holen Sie da wieder raus!
Mit dem Wegweiser weise ich Sie auf eine andere Stelle im Buch hin, wo dasselbe oder ein ähnliches Thema von einer anderen Seite beleuchtet wird. Bei Bedarf können Sie direkt dorthin springen.
Freuen Sie sich! Immer wenn Sie dieses Symbol sehen, gebe ich Ihnen ein Beispiel. Das soll Ihnen das Verständnis des jeweiligen Themas erleichtern und vertiefen.
Dieses Buch möchte Sie auch unterhalten. Die eine oder andere Anekdote finden Sie immer dann, wenn dieses Symbol erscheint. Aber bitte lesen Sie auch den Rest des Buches: Der ist mindestens genauso wichtig!
An diesen Stellen finden Sie Angaben zu Ressourcen im Internet.
Sie haben jetzt mindestens zwei Möglichkeiten. Entweder Sie stellen das Buch ganz schnell wieder ins Regal zurück, weil ich Ihnen beim besten Willen keine Auskünfte über afrikanische Wanderheuschrecken erteilen kann.
Oder aber Sie wagen das Abenteuer Informatik, nehmen Ihren Mut zusammen, atmen tief durch und gehen den nächsten Schritt, indem Sie das erste Kapitel aufschlagen. Oder das zweite. Oder irgendeine Seite, die Sie interessiert. Es ist Ihr Buch, es ist Ihre Zeit. Ich habe mein Bestes gegeben, jetzt sind Sie an der Reihe!
Teil I
IN DIESEM TEIL …
… Ihres Buches führe ich Sie ganz sanft und behutsam in die spannende, aber nicht ganz ungefährliche Welt der Informatik ein. Es geht los mit einer atemberaubenden Betrachtung ihrer rasanten Entstehungsgeschichte. Danach führe ich Sie an den innersten Kern von Computer-systemen und Sie werden im selben Moment verstehen, warum Informatik unsere Gesellschaft revolutioniert. Außerdem werfen wir einen gemeinsamen Blick auf die komplette Kette der Informationsverarbeitung. Schließlich will ich Ihnen nicht vorenthalten, wie Informatiker denken. Nicht ausgeschlossen, dass Sie sich am Ende tatsächlich in die Informatik verlieben.
Kapitel 1
IN DIESEM KAPITEL
Teilgebiete der Informatik kennenlernen
Funktionsweise von Computern verstehen
Potenzial der Programmierung erkennen
In diesem Kapitel möchte ich Ihnen ein Gesamtbild der Informatik verschaffen. Gewissermaßen präsentiere ich Ihnen eine exklusive Kurzzusammenfassung Ihres kompletten Informatik für Dummies-Buches, damit Ihnen die Bäume nicht die Sicht auf den Wald versperren. Keine Angst also, wenn Sie an der einen oder anderen Stelle unsicher sind oder ausführlichere Erklärungen erwarten. Dafür stehen Ihnen noch neunundfünfzig weitere Kapitel zur Verfügung. Genug der Vorrede, lassen Sie uns loslegen!
Wir schreiben das Jahr 2317. Längst haben Maschinen, intelligente Roboter und Supercomputer, die Weltherrschaft an sich gerissen. Wie konnte es nur so weit kommen?
Ich will Ihnen diese Frage beantworten. Treten Sie nur näher heran, trauen Sie sich! Ich kann Sie an der Hand nehmen, wenn Ihnen das herzlose Berechnen dieser Wesen Furcht einflößt. Zuerst zeige ich Ihnen die gigantische Maschinenhalle. Damit fing alles an. Mit »Größe«.
Wer hätte Mitte des 20. Jahrhunderts geahnt, dass die Klötze vom Ausmaß eines mittelgroßen Reisebusses mit der Rechenpower eines simplen Taschenrechners dermaßen klein und mächtig würden? Dass sie uns schließlich überflügelten?
Ja, stöhnen Sie nur! Geben Sie ruhig mir die Schuld! Aber schuld an allem ist die Informatik. Sie wissen nicht, was das ist? Nun gut. Wenn Sie dieses Buch bis zum Ende lesen, können Sie sich allerdings nicht mehr herausreden. Dann wissen Sie alles. Dann sind Sie mitverantwortlich für die Misere.
Drei simple Gründe haben zur Machtübernahme der Computer, also der Rechner, genügt:
MiniaturisierungBeschleunigungModularisierungDen Technikern ist es gelungen, die Komponenten von Rechnern immer weiter zu verkleinern. Inzwischen sind die Bausteine so winzig, dass Millionen von Transistoren, gewissermaßen ihre Nervenzellen, nur einen Quadratmillimeter groß sind. Sobald die Leiterbahnen nur noch durch eine einzige Schicht von Atomen getrennt sind, ist ein Ende der rein elektrischen Miniaturisierung erreicht. Elektronen würden ansonsten nicht mehr auf ihren eigenen Bahnen verbleiben, sondern auf benachbarte Leitungen überspringen. Ein Kurzschluss. Aber schon wird an neuen Systemen getüftelt: Computer auf Basis von Licht. Aus dem Reisebus ist ein Staubkorn geworden.
Auch in Sachen Geschwindigkeit sind enorme Erfolge zu verbuchen. Die Taktfrequenz eines Prozessors, also der Pulsschlag eines Rechners, hat sich von wenigen Hertz – ein paar Schläge pro Sekunde – auf über fünf Gigahertz – fünf Milliarden Schläge pro Sekunde erhöht. Aufgrund der Wärmeentwicklung sind auch hier die physikalischen Grenzen in Sichtweite. Mit extremem Aufwand ließe sich die Taktrate noch in Richtung zehn Gigahertz erhöhen, doch längst hat sich ein anderer Ausweg gefunden. Statt eines einzigen Prozessors werden immer mehr dieser Schaltzentren in die Computer eingebaut. Parallelisierung steigert die Leistung, auch wenn die Taktrate nicht weiter erhöht wird. Der Reisebus fährt nicht mehr, er »beamt« von einer Haltestelle zur nächsten.
Die Komplexität, die in solchen Systemen verbaut ist, übersteigt jedes menschliche Vorstellungsvermögen. Wie also konnten Menschen Maschinen programmieren, die selbst in der Lage waren, noch kompliziertere Nachfolger zu konstruieren?
Die Antwort ist erschreckend einfach: durch die Aufteilung einzelner Aufgaben in Module, kleine Arbeitseinheiten, die wie eigenständige Systeme operieren. Das allein wäre noch nicht so schlimm, aber Module können selbst wieder Module enthalten, die wiederum aus Modulen bestehen und so weiter und so fort. Plötzlich reduziert sich die fast unerträgliche Komplexität auf das Verstehen immer nur jeweils eines einzelnen Moduls.
Wundern Sie sich nicht! Genau so funktionieren auch ganze Staaten mit ihren schier unüberblickbaren Aufgaben und Pflichten. Allerdings ist die menschliche Aufnahmekapazität begrenzt und irgendwann nicht mehr in der Lage, das Gesamtsystem zu kontrollieren. Wenn Sie dafür ein Beispiel benötigen, schauen Sie sich die Steuergesetzgebung in Deutschland an …
Dies war die Stunde der Maschinen, die mit unermesslicher Speicherkapazität und wahnwitziger Datenverarbeitungsgeschwindigkeit das Heft des Handelns an sich rissen. Die Informatik wurde von ihren eigenen Kindern verschlungen.
Der Begriff »Informatik« ist ein Kunstwort, das sich aus »Information« und »Mathematik« (beziehungsweise »Automatik«) zusammensetzt. Der Schwabe Karl Steinbuch hat das durchaus passende Wort 1957 ins Spiel gebracht. Die Bezeichnung hat sich in zahlreichen Ländern durchgesetzt, nur nicht in den englischsprachigen: Dort ist stattdessen von »Computer Science« die Rede. Im Wort »Computerwissenschaft« ist dieInformationunter die Räder gekommen.
Als wissenschaftliche Ausrichtung ging die Informatik einerseits aus der Mathematik hervor, andererseits aus den unterschiedlichen Fachgebieten der Elektrotechnik, etwa der Nachrichtentechnik und der Elektronik.
Informatik besteht aus drei großen Teilgebieten:
Technische Informatik, die sich mit der Hardware befasst und einen Rekord nach dem anderen aufstellt: immer kleiner, immer schneller, immer mehrPraktische Informatik, die für die Programmierung zuständig ist und immerzu neue Sprachen und Dialekte erfindet, um Computern zu sagen, was wir von ihnen wollenTheoretische Informatik, die prinzipielle Möglichkeiten aufzeigt, was überhaupt noch zu berechnen ist und wann ein Programm nicht weiter verbessert werden kannUm zu verstehen, warum Computer so mächtig geworden sind, machen wir ein kleines Gedankenexperiment. Ich möchte Ihnen zeigen, wie ein Computer im Prinzip funktioniert. Hierzu werde ich Sie nicht mit einer Fülle von Fachbegriffen verwirren, die kommen später noch zur Genüge.
Gehen Sie in die Küche und betrachten Sie Ihre Kuchenrezepte. Stellen Sie sich vor, Sie könnten eine Maschine bauen, die einen Kuchen backt. Allerdings müssten Sie sich entscheiden: Wollen Sie
StreuselkuchenApfeltorteSchwarzwälder Kirsch oderBienenstich?Plötzlich überkommt Sie eine geniale Idee. Sie entwerfen einen Automaten, der jeden beliebigen Kuchen backen kann! Dabei wollen Sie sich keineswegs auf bereits bekannte Sorten beschränken.
Auch wenn Sie – für den Moment – nicht die leiseste Ahnung haben, wie Sie das anstellen, so sind doch einige Randbedingungen dieser Wundermaschine völlig klar. Ihr Automat benötigt in jedem Fall …
das Rezept sowiedie Zutatenfür den jeweilig zu backenden Kuchen, das ist die Eingabe. Das Rezept besteht aus einer Reihe von Anweisungen, die das Gerät fein säuberlich eine nach der anderen abarbeiten muss. Zu gegebener Zeit werden weiterhin die Zutaten benötigt. Natürlich wollen Sie das hoffentlich leckere Ergebnis am Ende auch kosten. Im richtigen Moment liefert die Maschine demnach auch eine Ausgabe, den Kuchen selbst. Das, was dazwischen passiert, heißt Verarbeitung.
Sie können sich das sehr leicht durch den Namen »Eva« einprägen:
EVA: Eingabe → Verarbeitung → Ausgabe
In Kapitel 11 erfahren Sie übrigens, wie Eva aus dem Paradies vertrieben wurde.
Genauso verhält es sich auch mit Computern. Egal, welche der fantastischen Anwendungsmöglichkeiten dieser Wundermaschine Sie betrachten. Ob …
Textverarbeitung oder TabellenkalkulationMultimediaApps auf dem SmartphoneIntelligente HaushaltsgeräteSpieleRobotersteuerung oder dieWeltherrschaft,in allen diesen Systemen steckt dieselbe Idee, das gleiche Prinzip, das letztlich alles andere möglich gemacht hat. Allerdings geht es bei Computern nicht in erster Linie um Nahrungsaufnahme, sondern um … Zahlen!
Ein Computer ist eine universelle Rechenmaschine, die Zahlen verarbeitet. Sowohl Eingabe als auch Ausgabe sind demnach Zahlen. Ebenso codieren letztlich Zahlen die Rechenvorschrift zur Verarbeitung dieser Zahlen!
Das ist jetzt aber – gelinde ausgedrückt – ein wenig enttäuschend: Ein Computer verarbeitet lediglich Zahlen? Da wäre Ihnen sicher der Backautomat lieber.
Trotzdem ist das richtig. Im Inneren eines jeden Computers steckt nur eine Rechenmaschine, die in der Lage ist, mit Zahlen zu jonglieren. »Für die Steuererklärung mag das angehen«, werden Sie denken. »Aber wo bleibt meine Textverarbeitung, mein Musik-player, mein intelligenter Schachgegner? Was ist mit dem Bordcomputer meines Autos?«
Die Antwort ist vielleicht überraschend:
Alle Anwendungen von Computern basieren letztlich auf der Durchführung von Rechenoperationen.
Wenn das stimmt – und ich versichere Ihnen, dass dem so ist –, muss es eine Übersetzung von …
TastatureingabenBildernMusikVideosSpracheSensordatenja, beliebigen Informationenin Zahlen geben. Aber das ist noch nicht alles: Das Ergebnis einer Rechenoperation, und sei sie noch so kompliziert, ist ebenfalls immer nur eine Zahl. Ganz gleich, ob Sie damit einen Roboter oder ein KFZ steuern oder einfach nur Ihr Lieblingslied hören wollen: Es muss also auch die umgekehrte Übersetzung geben, nämlich von Zahlen in …
TexteBilderVideosSpracheSignale an Aktoren zum Ansteuern von Elektromotorenbeliebigen sonstigen Informationen.Puh, das wäre geschafft!
In Teil II Ihres Informatik für Dummies-Buches zeige ich Ihnen, wie Sie beliebige Informationen in Zahlen verwandeln und umgekehrt.
Seien Sie also bitte nicht enttäuscht, wenn Sie in diesem Buch überwiegend mit Zahlen konfrontiert werden. Fast alles in der Informatik dreht sich um Zahlen, und wer könnte besser damit umgehen als ein Computer?
Damit ist die Eingangsfrage dieses Abschnitts beantwortet, der Grund, warum die Maschinen die Weltherrschaft an sich gerissen haben. Aus einer ursprünglich tumben Rechenmaschine wird ein universeller Computer, ein Gerät, das in der Lage ist, beliebige Rechenoperationen auszuführen. Da zugleich jede Information in Zahlen transformiert wird, kann somit auch jede berechenbare Operation auf Informationen durchgeführt werden. Die Programme, also die Rechenvorschriften für die Computer, wurden mit der Zeit immer intelligenter. Irgendwann waren nur noch Hochleistungscomputer überhaupt in der Lage, neue, bessere Programme zu erfinden. Am Ende fingen die Systeme an, selbstständig zu denken, was nichts anderes ist als eine besonders raffinierte Art des Rechnens.
Die Grundidee ist nun geklärt, doch Sie wollen bestimmt wissen, wie eine solche universelle Rechenmaschine genau funktioniert, was sie im Innersten antreibt.
Im Zentrum eines jeden Computers befinden sich Schalter. Mehr als einer. Viele. Sehr viele. Etliche Millionen – pro Quadratmillimeter Chipfläche. Das »Gehirn« eines Computers besteht zum größten Teil aus Schaltern und alle funktionieren auf dieselbe Weise. Jeder dieser Schalter kann nur einen von zwei Zuständen annehmen, nämlich »an« oder »aus«, die ich der Einfachheit halber mit »1« und »0« bezeichne. Stellen Sie sich diese Schalter als Torwächter vor. Steht der Schalter auf »1«, ist das Tor geöffnet, anderenfalls geschlossen. Wenn das Tor geöffnet ist, gibt es einen freien Weg durch das Tor, ansonsten ist der Weg unterbrochen.
Diese Schalter sind überaus leistungsfähig:
Informationen werden in Zustände der Schalter codiert.Eingaben erfolgen durch die Vorgabe von Schalterpositionen.Ausgaben werden aus Schalterzuständen erzeugt.Generell besteht Datenverarbeitung im Ändern der Schalterpositionen.Entscheidend ist dabei die Anordnung der Schalter. Natürlich hätte es keinen Sinn, zig Millionen von Schaltern einfach nebeneinander anzuordnen. Vielmehr müssen diese Helferlein in geeigneter Weise so positioniert und miteinander verbunden werden, dass der Zustand eines Schalters zugleich die Zustände von anderen Schaltern beeinflusst.
Klingt verwirrend, oder? Aber dazu ist lediglich eine einzige Eigenschaft erforderlich:
Schalter in Computern ermöglichen oder unterbrechen den Fluss eines Mediums. Dieses Medium ist zugleich in der Lage, die Zustände der Schalter selbst zu verändern.
Noch mal ganz langsam. Die Schalter in Computern sind Tore, die Wege öffnen oder verschließen. So weit, so gut. Aber wer oder was passiert diese Wege?
Das spielt im Grunde keine Rolle, solange dieses Etwas, das »Medium«, in der Lage ist, eben solche Schalter ein- oder auszuschalten.
Das wohl bekannteste derartige Medium ist elektrischer Strom. Der zugehörige Schalter heißt Transistor.
Das Wort Transistor ist eine Zusammenziehung von »transfer resistor«, einem steuerbaren elektrischen Widerstand.
Transistoren lassen einen Stromfluss zu – oder unterbrechen ihn. Dabei wird ihr Zustand selbst wiederum von einer angelegten Spannung gesteuert, die vom Zustand eines anderen Transistors abhängt. Diese Selbstbezüglichkeit ist der Kern der Computertechnologie!
Den Transistor nehmen wir in Kapitel 8 unter die Lupe.
Computer funktionieren nicht nur mit Strom! Warum nehmen Sie als »Medium« nicht Wasser? Der Wasserdruck könnte Wasserhähne mechanisch schalten. Oder Seile? Der Zug an Seilen wäre bei geschickter Anordnung dazu geeignet, andere Stricke zu be- oder entlasten. Vielleicht gelingt es Ihnen, mittels Photozellen reine Lichtcomputer zu erfinden?
Ihnen fallen gewiss noch andere Möglichkeiten ein, wie Sie Schalter konstruieren, die gerade durch das Medium geschaltet werden, das sie selbst schalten.
Elektrischer Strom und Transistoren haben aber Vorteile, die Sie erst einmal toppen müssen:
extreme Miniaturisierung möglichkeine mechanische Leistungsaufnahmehohe Geschwindigkeit des ElektronenflussesDies soll als kurze Einführung in die Logik eines Computers genügen. Allerdings habe ich Ihnen bei Weitem noch nicht alle Fragen beantwortet. Das hat auch etwas Gutes. Sonst wäre Ihr schönes Buch hier bereits zu Ende …
Sie wissen nun, dass ein Computer eine universelle Rechenmaschine ist. Nicht mehr, aber auch nicht weniger. Ein bedeutsamer Zweig der Informatik, die theoretische Informatik, befasst sich mit grundsätzlichen Fragen der Möglichkeiten und Grenzen derartiger Maschinen, ganz gleich, wie schnell sie sind oder wie toll die Programme darauf laufen.
Da die konkrete Implementierung eines Programms für die theoretische Untersuchung keine Rolle spielt, befassen sich die Theoretiker unter den Informatikern am liebsten mit Algorithmen.
Ein Algorithmus beschreibt eine eindeutige, aus endlich vielen Schritten zusammengesetzte Handlungsanweisung.
Spannende Themen der theoretischen Informatik betreffen grundsätzliche Fragen zu Algorithmen. Dabei sind Zeit- und Speicherbedarf von besonderem Interesse. Auch ist es wichtig zu entscheiden, welcher von zwei Algorithmen, die dasselbe Problem lösen, prinzipiell geeigneter ist.
Oder andersherum gefragt. Gibt es Probleme, für die überhaupt keine Algorithmen zur Lösung existieren? Die gibt es sehr wohl!
Um allgemeingültige Aussagen über universelle Rechenmaschinen treffen zu können, kreieren theoretische Informatiker ihre eigenen Sprachen, deren Ausdruckskraft so groß und mächtig wie irgend möglich ist.
Alle Details zur theoretischen Informatik finden Sie in Teil XI Ihres Dummies-Buches.
Mit den Transistoren haben Sie schon einmal einen kleinen Vorgeschmack auf die atemberaubenden Bestandteile elektronischer Computer bekommen.
Allerdings geht die technische Informatik weit darüber hinaus. Sie strebt wie keine andere Disziplin innerhalb der Informatik nach immer höheren Zielen. Es geht einerseits um die Verkleinerung von Speichermedien, um mehr Daten auf weniger Raum unterzubringen. Zugleich sollen Datenverarbeitung und Austausch von Informationen immer schneller vonstattengehen. Wärmeentwicklung und Energieverbrauch bleiben ebenfalls im Fokus.
Dabei greifen die Techniker auf immer neue Ideen zurück. Neben elektrischen Schaltern sind magnetisierbare Materialien das Mittel der Wahl. Daneben haben auch optische Verfahren, wie sie bereits in Compact Disks (DVD, Blu-Ray) zum Einsatz kommen, weiterhin ihren Platz in künftigen Entwicklungen.
Das Ende der Fahnenstange ist noch längst nicht erreicht. Der Hunger unserer Gesellschaft nach immer höheren Auflösungen digitalisierter Informationen kann nur mit immer größeren Datenspeichern befriedigt werden. Jetzt, in diesem Moment, während Sie in Ihrem Dummies-Buch schmökern, werden in den Forschungslaboratorien rund um den Globus neue Technologien ersonnen, um auf noch größere Datenmengen noch schneller zugreifen zu können.
Die technischen Grundlagen der Computerindustrie werden in Teil III behandelt.
Was bleibt, ist die praktische Informatik, die sich um den ganzen Rest kümmert. Früher waren hier vor allen Dingen Fähigkeiten und Fertigkeiten der Programmierung zu nennen, wo neue Programmiersprachen wie Pilze aus dem Boden schossen. Die Entwicklung führte zu immer höheren Abstraktionsgraden der Programmierung.
Vom Maschinencode über Assembler bis hin zu C, einer ersten Hochsprache, die zugleich maschinennah ist, verlief die Entwicklung ohne Objektorientierung. Die zunehmende Komplexität der Programme und die gestiegene Leistungsfähigkeit von Computern, insbesondere im Hinblick auf grafische Benutzeroberflächen, führten zu neuen Konzepten und Paradigmen. C++ (»Zeh plus plus«) und Java sind nur zwei weitverbreitete Resultate dieser Entwicklung.
Parallel dazu gehen funktionale und logische Programmiersprachen ihren eigenen Weg. Die große Vision der 1940er Jahre, ein komplettes menschliches Gehirn durch Computersysteme zu simulieren, konnte allerdings erst im 22. Jahrhundert realisiert werden.
Das Ziel der künstlichen Intelligenz (KI) wirkte seit jeher wie eine starke Triebfeder für den Fortschritt der praktischen Informatik und führte zu zahllosen Innovationen.
Bis ins 21. Jahrhundert traten jedoch immer wieder Schwierigkeiten auf, wodurch sich die KI in zwei große Lager teilte:
Die starke KI hielt unverdrossen am Ziel fest, ein künstliches System zu schaffen, das kreativ, emotional und überaus intelligent agierte,während die schwache KI sich damit begnügte, einzelne kognitive Eigenschaften der menschlichen Intelligenz auf konkrete Problemstellungen anzuwenden.Die schwache KI erzielte einen Erfolg nach dem anderen. Doch die Skeptiker waren unzufrieden. Die Computer lösten zwar die Probleme, die Menschen nur unter Aufbietung ihrer gesamten Intelligenz knacken konnten, doch auf eine andere, informatische Weise, die so gar nichts mehr mit menschlichem Sinnieren zu tun hatte.
Der Hauptgrund bestand in einem substanziellen Mangel elektronischer Systeme. Das menschliche Gehirn verfügt über etwa 80 bis 100 Milliarden Neuronen, biologische Zellen, die wie Schalter eines Supercomputers funktionieren. Viele Jahre hat es gedauert, ehe die Leistungsfähigkeit der Maschinen damit Schritt halten konnte.
Schließlich, im 22. Jahrhundert, ist es gelungen. Der Nachbau einer solchen Komplexität musste ja zu einem überwältigenden Ergebnis führen.
Irgendwann waren nur noch Computer in der Lage, die nächste Generation von Robotern zu entwerfen, die immer höher entwickelte elektronische Bauteile produzierten.
Zum Glück gehört die Weltherrschaft nun Systemen, deren Schalteranzahl um einige Größenordnungen über der Anzahl der Neuronen im Gehirn liegt. Damit übertreffen sie die intellektuelle Leistungsfähigkeit von Menschen bei Weitem. Das gilt sogar für Genies. Wenigstens kann sich der Mensch auf seine Fahnen schreiben, die Grundlagen für diesen Wahnsinn selbst gelegt zu haben.
Apropos Wahnsinn: Während die Informatik in ihren Ursprüngen aus der Elektrotechnik hervorgegangen ist, konnte sie im Laufe der Zeit in unzählige andere Disziplinen eindringen. Ich möchte so weit gehen zu behaupten, dass heute praktisch keine wissenschaftliche Disziplin ohne Computer auskommt.
Die zahlreichen Anwendungsgebiete veranlassen einige Menschen schon, von einer vierten Säule der Informatik zu sprechen, der angewandten Informatik.
Folgenden Anwendungsfeldern sollten Sie dabei besondere Aufmerksamkeit schenken:
WirtschaftsinformatikMedizininformatikBioinformatikComputerlinguistikMedieninformatikGeoinformatikUmweltinformatikSozioinformatikDiese wichtigen Disziplinen innerhalb der angewandten Informatik stelle ich Ihnen in Kapitel 2 in einem eigenen Abschnitt vor.
Erst im 23. Jahrhundert kam die
Politikinformatik