Einführung
1.1 Einleitung
1.1.1 Programmieren lernen in 14 Tagen
Mit diesem Buch erhalten Sie einen praktischen Einstieg in das Programmieren mit C++. Sicherlich endet Ihre Lernkurve nicht mit der letzten Seite, aber bis dahin werden Sie Einblicke in die verschiedenen Funktionalitäten, Stärken und Fallstricke der Sprache bekommen haben. Dieses Buch bringt Ihnen nicht nur reines C++ bei, sondern zeigt Ihnen auch, wie Sie es auf einfache Weise mit Open-Source-Bibliotheken erweitern, sodass Sie grafische Benutzeroberflächen erstellen oder mit Internetservern kommunizieren können. Es endet mit einem Ausblick darauf, wie Sie Ihr gewonnenes Wissen im Programmieralltag einsetzen und selbstständig erweitern können.
Wenn Sie Zeit genug haben, können Sie jeden Tag ein neues Kapitel durcharbeiten und so innerhalb von zwei Wochen Programmieren lernen. Alle Erklärungen sind leicht verständlich und setzen keine Vorkenntnisse voraus. Sie werden schnell erste Erfolge erzielen und Freude an der Programmierung finden.
1.1.2 Wie man dieses Buch liest
Dieses Buch gibt Ihnen einen Einblick in C++, und zwar in der aktuell verfügbaren Version C++17. Die Unterschiede der verschiedenen Versionen sind für dieses Buch nicht sonderlich relevant – die meisten hier verwendeten Konzepte gibt es schon seit C++11, welches meiner Meinung nach ein Quantensprung für die Modernisierung von C++ war.
Insbesondere Universitäten oder berufliche Fortbildungen beginnen das Lehren von C++ oft über den Vorgänger C und dessen sehr hardwarenahen Konzepte. Dieses Buch verfährt jedoch andersherum: Sie als Leser sollen ohne Vorkenntnisse in die Lage versetzt werden, möglichst schnell erste Resultate zu erreichen. Dafür ist es nicht relevant, sich von Tag 1 an mit dem Speichermanagement und anderen Grundlagen auseinanderzusetzen. Der Vollständigkeit halber werde ich diese Dinge auch ansprechen, allerdings erst in den späteren Kapiteln.
Verweise auf Kapitel weiter hinten im Buch werden Ihnen häufiger begegnen. Dies ist zweierlei Dingen geschuldet
- Sie sollen einen Ausblick bekommen, in welche Richtungen das bereits Erlernte noch erweitert wird.
- Einige Konzepte bedingen sich gegenseitig, dennoch möchte ich sie Ihnen der Reihe nach präsentieren.
Lassen Sie sich daher nicht davon beirren, es ist ein bisschen wie beim Lernen einer normalen Sprache: Das Erlernen der Grammatik ist schwer, ohne Vokabeln zu kennen, reines Vokabellernen ohne die Anwendung macht aber auch keinen Spaß. Ich empfehle Ihnen, sich nicht den Anspruch aufzuerlegen, jedes Programmbeispiel auf Anhieb Zeichen für Zeichen zu verstehen, sondern im Zweifel Dinge erst mal hinzunehmen und gegebenenfalls später wiederaufzugreifen.
Am Ende eines jeden Kapitels finden Sie kleine Übungsaufgaben, mit denen Sie Ihr Wissen praktisch anwenden und vertiefen können. Manchen Übungen ist ein relativ eindeutiger Lösungshinweis beigelegt – dieser wird dann auf dem Kopf geschrieben, sodass Sie auch erst ohne ihn versuchen können, die Aufgabe zu lösen. Genauso finden Sie auch kurze Zwischenfragen innerhalb der Kapitel, deren Antwort ebenfalls auf dem Kopf geschrieben ist.
Neben den Übungsaufgaben möchte ich Sie ermuntern, auch schon innerhalb der Kapitel ein bisschen herumzuprobieren und den Pfad des Buches mal links und rechts zu verlassen. Ein Hinweis dazu: Leider ist C++ nicht immer besonders experimentierfreudig, sodass gerade in den ersten Kapiteln vielleicht noch weniger Spielraum für eigenständige Versuche ist.
Die Beispiele der ersten Kapitel werden allesamt Konsolenprogramme sein, denn diese sind leichter zu erstellen. Hierzu noch eine Vorwarnung: Die Konsole unter Windows hat standardmäßig Probleme mit Umlauten. Die Lösung hierfür bekommen Sie in Abschnitt 5.1 präsentiert – bis dahin verzichten Sie bei Ihren eigenen Experimenten auf Umlaute oder schreiben Sie ae, oe, ue.
Wie ich später in einem eigens dafür angelegten Abschnitt 2.5 noch ausführen möchte, ist die Welt des Programmierens sehr englischlastig. Viele Fachbegriffe werden auch in deutschen Gesprächen in ihrer englischen Variante verwendet. Zulasten der Sprachschönheit werde ich in diesem Buch die tatsächliche Sprechweise deutscher Programmierer nachahmen, die sich durch einen Mix aus englischen und eingedeutschten Begriffen auszeichnet. Generell ergibt es auch Sinn, sich die englischen Begriffe bevorzugt zu merken, denn das macht die Problemlösung via Internetsuche deutlich einfacher – dazu mehr im Kapitel 14, »Der Alltag eines Programmierers«.
| | Aufgrund der besseren Lesbarkeit wird im Buch das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Geschlechter. |
Wenn Sie nicht sowieso die physikalische Ausgabe dieses Buches erworben haben, so hoffe ich, dass Sie das E-Book zumindest auf einem separaten Lesegerät aufrufen können, denn das ermöglicht es Ihnen, das Buch beim Programmieren der Beispielprogramme nebenher offen auf dem Schreibtisch zu haben, Informationen anzustreichen und noch mal zurückblättern zu können. Kleben Sie Marker an wichtige oder interessante Stellen, sodass Sie auch nach dem Durchlesen schnell die hilfreichen Stellen wiederfinden, sobald Sie sich an Ihre eigenen Projekte machen.
Die gedruckte Ausgabe bewahrt Sie auch vor einer verlockenden Abkürzung, nämlich die Programmbeispiele einfach 1:1: über die Zwischenablage zu kopieren. Das geht zwar schneller, als sie selbst abzutippen, ist aber deutlich weniger lehrreich. Um Verständnisfragen zu klären, finden Sie dennoch sämtliche Programmbeispiele des Buchs unter:
https://cpp.hasper.info/code_im_buch
1.1.3 Programmtexte, Lösungen und Glossar zum Download
Sie erhalten alle Begleitmaterialien des Buches wie Codebeispiele oder die Musterlösungen der Übungen hier zum Download:
https://cpp.hasper.info
Sie werden an den relevanten Stellen auch auf den vollständigen Link hingewiesen.
Neben dem Stichwortverzeichnis am Ende des Buches finden Sie ein Glossar mit Erklärungen der wichtigsten Begriffe dieses Buchs unter:
https://cpp.hasper.info/glossar
1.1.4 Fragen und Feedback
Unsere Verlagsprodukte werden mit großer Sorgfalt erstellt. Sollten Sie trotzdem einen Fehler bemerken oder eine andere Anmerkung zum Buch haben, freuen wir uns über eine direkte Rückmeldung an
[email protected].
Falls es zu diesem Buch bereits eine Errata-Liste gibt, finden Sie diese unter
https://cpp.hasper.info/korrekturen/
Ich bedanke mich beim mitp-Lektorat und bei Manuel Landsmann für die Unterstützung und wünsche Ihnen viel Spaß beim Lesen!
Philipp Hasper
1.2 Über C++
C++ ist ein richtiger Altmeister unter den Programmiersprachen. Die Sprache wurde Anfang der Achtzigerjahre entwickelt und seitdem kontinuierlich erweitert. Der aktuellste einsetzbare Sprach...