Skip to content

Buch: The Eight

Titel

The Eight

Autor

Kathrine Neville

Sprache

Englisch

Genre

Historien-Thriller

Herausgeber

Ballantine Books, 2008

Seitenanzahl

598

New York, 1972. Catherine Velis ist eine Computer-Expertin für statistische Analysen und soll eine neue Stelle in Algerien antreten, um dort die OPEC-Verantwortlichen zu unterstützen. Dabei wird sie von einem Freund auch gebeten, nach einem bestimmten Schachspiel von unschätzbaren Wert Ausschau zu halten: dem Montglane-Spiel, welches Hunderte von Jahren alt ist. Doch es gibt scheinbar auch andere, die nach dem Schachspiel suchen und auch vor Mord nicht zurückschrecken. Die gleiche Erfahrung muss auch die Nonne Mireille in Frankreich im Jahr 1790 machen. Bedroht durch die Umstürze der Französischen Revolution schickt die Vorsteherin des Klosters Montglane Abbey Mireille mit ihrer Cousine Valentine fort nach Paris, um die Figuren des Montglane-Schachspiels zu verstecken. Das Leben beider Frauen ist durch das Schachspiel miteinander verwoben und es ist nicht klar, welche Rolle beide auf dem Spielbrett selbst einnehmen.

Katherine Neville hat mit „The Eight“ Ende der 1980er Jahre einen hervorragenden Thriller geschaffen, der sich über zwei Jahrhunderte und mehr erstreckt. Erzählt wird abwechselnd immer die Geschichte von Mireille und Catherine, bis deren Geschichten sich am Ende des Buches treffen und für ein fulminantes Ende sorgen.

Nacheinander werden im Buch behutsam neue Figuren eingeführt und im Laufe des Buches kommen Catherine und ihre Freundin Lily dahinter, dass sie selbst nur Bauern auf einem riesigen Schachbrett sind und „von oben“ herab gesteuert werden. Der Weg von New York nach Algerien und zurück ist extrem spannend erzählt und trotz einiger Action-Passagen fast immer glaubwürdig. Die Figuren verhalten sich in der Regel so, wie man sich wohl selbst verhalten würde – von einigen wenigen Ausnahmen abgesehen.

Übertrieben hat es Katherine Neville in meinen Augen etwas mit den historischen Bezügen. Hier eine unvollständige Liste der berühmten Personen, die im Buch eine mehr oder weniger große Rolle spielen: Isaac Newton, Maximilien de Robespierre, Napoleon Bonaparte, Armand-Jean du Plessis, duc de Richelieu, Voltaire, Katharine, die Große , Charles-Maurice de Talleyrand-Périgord, Jacques-Louis David und einige mehr.

Davon abgesehen ist „The Eight“ (im Deutschen Das Montglane-Spiel - Das Geheimnis der Acht) ein großartiger Thriller, der die Schicksale zweier Frauen geschickt miteinander verwebt und Spannung bis zum Ende aufkommen lässt.

Die Fortsetzung des Buches The Fire (Die Botschaft des Feuers) schneidet bei den Bewertungen leider extrem schlecht ab, sodass ich mir das Buch wohl nicht zulegen werden, obwohl ich schon gerne wissen würde, wie es mit Alexandra (Catherine Velis' Tochter) weitergeht und wie ihre Rolle auf dem Schachbrett ist.

Buch: Spielend C++ lernen

Titel

Spielend C++ lernen

Autor

André Willms

Sprache

Deutsch

Genre

Sachbuch

Herausgeber

Galileo Computing, 2012

Seitenanzahl

388

Es gibt sehr viele Programmiersprachen auf der Welt, sodass sich Programmieranfänger meist nicht so recht entscheiden können, mit welcher Sprache sie anfangen sollen. C++ ist vielleicht nicht die erste Wahl, wenn man den Kreis der erfahrenen Programmierer befragt, doch soll das Buch „Spielend C++ lernen“ von André Willms wie der Titel sagt spielend in die Thematik der C++-Programmierung einführen.

Zielgruppe und Inhalt

Das Buch ist zwar laut Buchtitel für Programmieranfänger von 12 bis 99 Jahren ausgelegt, doch bereits am Anfang merkt man, dass Willms eher ein jüngeres Publikum ansprechen will. Dies fällt zum einen bei der direkten Ansprache mit Du auf, an dem sich ältere Semester gegebenenfalls stören könnten, zum anderen ist in manchen Übungsaufgaben von den eigenen Klassenkameraden die Rede, was bei einem 30-jährigen Programmieranfänger sicherlich nicht ganz passend ist.

Da man aber eh nur so alt ist, wie man sich fühlt, kann man sich „Spielend C++ lernen“ auch im gehobenen Alter zu Gemüte führen, wenn man sich nicht an Kindergeschichten stört. Willms will die C++-Programmierung nicht durch die x-te Wiederholung der C++-Syntax herunterpredigen, sondern bettet das Lernen didaktisch sinnvoll in ein kleines Spiel samt Vorgeschichte ein. Grob zusammengefasst geht es darum, dass Nedjem und Neferu unerlaubt in eine Pyramide eindringen und damit den Sonnengott Ra erzürnen. Der verwandelt Nedjem in einen Käfer namens Scara. Um zurückverwandelt zu werden, muss Scara durch Labyrinthe laufen, was mittels diverser Programmierparadigmen (Iterationen, Bedingungen, etc.) gelöst werden kann. Neferu darf sich derweil eher kleinen Mathe- und Zeichenspielchen hingeben, um auf die Rückkehr ihres Geliebten zu warten.

Die Geschichte um Nedjem/Scara und Neferu wird am Anfang eines jeden Kapitels forterzählt und stellt die beiden vor immer neue Aufgaben, deren Lösungen dann im folgenden Text vorbereitet werden. Die Einbettung in das Lernen geschieht dabei so fließend, dass man nicht einmal mitbekommt, dass man etwas lernt. Hilfreich ist es dafür natürlich auch, dass die Kapitel alle nur einen geringen Themenumfang behandeln, sodass auch Programmierneulinge nicht abgehängt werden.

Für Leute, die mit den meist einfachen Aufgaben schnell unterfordert sind, gibt es an manchen Stellen Fortgeschrittenen-Kapitel, in denen speziellere Spezifika der Sprache C++ näher gebracht werden. Zwischendurch gibt es darüber hinaus auch noch Exkurse zu anderen Themen wie der Bedeutung des Wortes Algorithmus, dem Farbraum RGB oder der Erklärung von RAM.

Positiv erwähnen muss man die Nutzung von UML-Aktivitätsdiagrammen, um die Kontrollflüsse einer Aufgabe zu verdeutlichen. Selbst ohne UML-Wissen versteht auch ein Programmieranfänger die Diagramme und kann so leichter verstehen, was zu tun ist. Die durchgehende Benutzung von deutschen Wörtern (auch der Programmcode ist komplett in Deutsch gehalten) erleichtert das Verständnis für Nicht-Fremdsprachler ungemein.

Windowslastig

Das größte Manko des Buches ist leider, dass es sich vollends an Windows-Nutzer richtet. Prinzipiell sind die Erklärungen in den Kapiteln natürlich auch unter Linux nachstellbar, ein Programmieranfänger wird hier aber schon beim Compileraufruf scheitern, da Willms in „Spielend C++ lernen“ direkt auf die Programmierumgebung Visual C++ 2010 Express von Microsoft eingeht. In einer sehr gut bebilderten und umfangreichen Erklärung wird die Installation und Einrichtung des Programms beschrieben, sodass wirklich jeder damit zurecht kommen sollte, der einen Windows-System bedienen kann.

Sicherlich ist Visual C++ eine sehr gute Programmierumgebung für Windows. Dennoch gibt es zum Beispiel mit Eclipse plattformunabhängige Lösungen, sodass auch Linux-Nutzer mit einbezogen werden könnten. So werden diese in der aktuellen Auflage des Buches aber fast völlig ausgeschlossen.

Neben der Windows-Programmierumgebung stellt sich ein noch viel größeres Problem: André Willms liefert eine (wahrscheinlich selbst geschriebene) Bibliothek mit, welche C++ um einige Sprachbefehle erweitert. Auf diese Befehle wird in fast alle Kapiteln Bezug genommen und ein Großteil der Übungsaufgaben lässt sich nur darüber lösen. So wird über die Bibliothek der Käfer Scara in seinem Labyrinth dargestellt und geprüft, ob er es mit den Anweisungen des Lesers zum Ausgang schafft. Ebenso ist das Zeichenbrett von Neferu damit realisiert und stellt somit eine grafische Umgebung bereit.

Didaktisch ist dieser Ansatz erstklassig, da man zum einen neues Wissen visuell leichter aufnehmen kann, zum anderen erhält der Lernende sofort eine Rückmeldung auf dem Bildschirm, ob es richtig ist, was er macht. Der Nachteil ist aber, dass die Bibliothek nur als vorkompilierte dll (Dynamic Link Library) für Windows vorliegt und der Quellcode leider auch nicht offen ist. Im Klartext: Nicht-Windows-Nutzer können die Aufgaben im Buch gar nicht nachstellen und die meisten Übungen nicht lösen. Aber selbst Windows-Nutzer werden benachteiligt, da es die dll nur für den Visual C++-Compiler zum Download gibt. Andere Compiler und damit auch andere Entwicklungsumgebungen, die unter Windows lauffähig sind, sind komplett ausgeschlossen.

Mehr Substanz

Da sich „Spielend C++ lernen“ eher an Programmieranfänger richtet, ist es verständlich, dass vor allem die Grundlagen der Sprache ausführlich erklärt werden. Dennoch muss man am Ende des Buches sagen, dass man eher etwas über funktionale Programmierung mit C++ gelernt hat als über die objektorientierte Programmierung, für die C++ eigentlich eher geeignet ist. Klassen werden nur im letzten Kapitel ganz kurz erklärt, aber dass es zum Beispiel so ein mächtiges Konzept wie Vererbung gibt, wird nicht erwähnt. Insgesamt hat man eher das Gefühl eine Buch über C zu lesen anstatt über C++.

C++-spezifische Konstrukte werden natürlich auch erwähnt. So gibt es in C++ Namensräume und auch die STL (Standard Template Library), welche zum Beispiel Container wie Vektoren oder Queues zur Verfügung stellt, kommt zur Anwendung.

Aber auch bei diesen einfachen Sprachkonstrukten wird nicht der volle Umfang von C++ genutzt. So wird erklärt, dass es ein if … else gibt, aber dass man nach dem else auch direkt wieder ein if folgen lassen kann, wird verschwiegen. Dabei ist dies mitunter wichtig, wenn man mehrere sich ausschließende if-Blöcke untereinander schreiben will. Dass selbst Enumeratoren keine Erwähnung finden, ist so oder so fragwürdig.

Daneben gibt es dann wieder positive Auffälligkeiten, wie zum Beispiel die Erwähnung, dass in einer Bedingung, die mit Und (&&) oder Oder (||) verschachtelt ist, in manchen Fällen nur die erste Bedingung ausgeführt wird und nicht alle. Dies wird vor allem von Anfängern gerne übersehen und führt zu unnötigen Fehlern.

Auf der anderen Seite ist es dann wieder unverständlich, wie zum einen weder auf Zeiger noch auf Referenzen eingegangen wird. Sicherlich sind Zeiger ein sehr komplexes Mittel, aber zumindest Referenzen hätte der Autor erklären können. So wird in alle Funktionen bei der Übergabe von Parametern immer eine Kopie der Objekte erstellt, was sich nicht positiv auf die Laufzeit auswirkt. Man kann argumentieren, dass der Programmieranfänger das noch im Laufe seines Lebens lernen wird. Dennoch wird er es somit am Anfang seiner Programmierlaufbahn immer „falsch“ machen.

Fazit

Didaktisch ist „Spielend C++ lernen“ sehr gut gemacht, da durch eine lustige Geschichte die Aufgaben erklärt werden und die grafische Rückmeldung der Lernende zum Mitmachen animiert wird. Schade dagegen ist, dass sich das Mitmachen allein auf Windows-Nutzer richtet und Linux-Nutzer so mit dem Buch nicht viel anfangen können, da ein Großteil des Codes bei ihnen nicht lauffähig ist.

Eher negativ ist auch die geringe Fülle an C++-Konstrukten, die im Buch Erwähnung finden. Sicherlich es ist es nur eine Einführung in C++, dennoch fehlen einige wichtige Elemente der Sprache, die man hätte vorstellen müssen. Vor allem die Objektorientierung kommt zu kurz.

So bleibt ein zwiespältiger Eindruck: Wer mit C++ anfangen will und Windows nutzt, ist mit dem Buch definitiv gut beraten und findet einen guten Einstieg in die Sprache. Linux-Nutzer oder Programmierer, die schon C beherrschen, sollten sich besser nach anderer Literatur umsehen.