30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

1.1 Zum Inhalt 3<br />

z.B. bei Abhandlungen über Po<strong>in</strong>ter e<strong>in</strong>mal e<strong>in</strong>en kurzen Blick <strong>in</strong> das entsprechende<br />

Kapitel des anderen Buchs wirft oder dieses vielleicht sogar im<br />

Schnellverfahren e<strong>in</strong>mal von vorne bis h<strong>in</strong>ten querliest.<br />

Auf e<strong>in</strong>en Punkt sei noch ganz besonders h<strong>in</strong>gewiesen: C ++ als OO-<br />

Sprache unterstützt sehr elegant alle Eigenschaften, die immer mit OO-<br />

<strong>Softwareentwicklung</strong> <strong>in</strong> Verb<strong>in</strong>dung gebracht werden. Die wichtigsten Schlagworte<br />

hierbei s<strong>in</strong>d sicherlich die Modularität und die Wiederverwendbarkeit<br />

von Code. Ganz bewusst habe ich das Wort unterstützt besonders hervorgehoben,<br />

denn es herrscht der allgeme<strong>in</strong>e Irrglaube, dass gewisse Eigenschaften,<br />

wie z.B. Wiederverwendbarkeit, alle<strong>in</strong> durch das Verwenden e<strong>in</strong>er OO-<br />

Sprache automatisch existieren bzw. erzwungen werden. Dies ist def<strong>in</strong>itiv<br />

falsch.<br />

Kritisch betrachtet ist sogar das Gegenteil der Fall! Bei Verwendung von<br />

OO-Sprachen kann man Fehler im Design viel länger h<strong>in</strong>ter abenteuerlichen<br />

Objektkonstruktionen verstecken, als es bei Verwendung von imperativen<br />

Sprachen jemals möglich wäre. Wenn man dann allerd<strong>in</strong>gs den Punkt erreicht,<br />

an dem “nichts mehr geht”, dann ist die Katastrophe bei weitem<br />

größer, als sie sonst jemals werden könnte. Bei imperativen Sprachen muss<br />

man viel früher das Handtuch werfen, weil man bei weitem schneller den<br />

Punkt erreicht, an dem man nichts mehr an e<strong>in</strong>em Teil e<strong>in</strong>es Programms<br />

ändern kann, ohne gleich an e<strong>in</strong>er ganz anderen Ecke im Programm e<strong>in</strong>e Katastrophe<br />

hervorzurufen. Bei OO-Sprachen kann man sich bewusst noch e<strong>in</strong>e<br />

Zeit lang an diesen Problemen vorbei schw<strong>in</strong>deln, <strong>in</strong>dem man Objektkapselungsmechanismen<br />

missbraucht.<br />

Das Ziel bei jeder <strong>Softwareentwicklung</strong> ist immer, dass das Endprodukt<br />

sauber und robust ist. Daher wird <strong>in</strong> diesem Buch besonderer Wert darauf<br />

gelegt, OO-<strong>Softwareentwicklung</strong> richtig zu betreiben, denn nur dann gelangt<br />

man zum gewünschten Ziel. Dazu ist sehr viel Erfahrung vonnöten, vor allem,<br />

wenn es um saubere, elegante und allgeme<strong>in</strong> e<strong>in</strong>setzbare Problemlösungsansätze<br />

geht. Wo auch immer auf dem Weg zum erklärten Ziel typische<br />

Stolperste<strong>in</strong>e liegen, an denen sich C ++ Neul<strong>in</strong>ge erfahrungsgemäß stoßen<br />

können, wird besonders auf sie h<strong>in</strong>gewiesen.<br />

1.1 Zum Inhalt<br />

Das Buch führt <strong>in</strong> kle<strong>in</strong>en Schritten von den Pr<strong>in</strong>zipien der OO-<strong>Softwareentwicklung</strong><br />

über die Grundlagen der Sprache (z.B. primitive Datentypen, wie<br />

sie auch <strong>in</strong> C existieren) und über die ersten objektorientierten Gehversuche<br />

zu zum Teil sehr speziellen Konstrukten von C ++. Es wird immer besonderer<br />

Wert darauf gelegt, das Warum zu verstehen, anstatt nur e<strong>in</strong> Kochbuch mit<br />

e<strong>in</strong>fachen Rezepten anzubieten. Nur zu oft sieht man C ++ Code, der aus<br />

purem Unverständnis der H<strong>in</strong>tergründe unglaublich kompliziert ist, obwohl<br />

die Sprache an und für sich e<strong>in</strong>e elegante Lösungen ermöglichen würde.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!