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.
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:
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.