Dynamisches Array, normales Array...
-
Wolfsherz schrieb:
Ist gerade spottbillig bei Amazon (29 Euro). Da musste ich zuschlagen.
Vor wenigen Wochen hättest du das auch für 2,99 Euro als PDF haben können (gibt von mehreren Verlagsseiten die auch PDF's anbieten häufig ein Angebot des Tages, und der PDF-Primer kommt dort immer mal wieder vor).
Der Primer gilt nunmal als eines der Standardwerke zum einlernen, zumal er auch noch wirklich "C++" vermittelt und nicht C. Ob es das optimale Einstiegsbuch ist, kann ich mit 10 Jahren C++ Erfahrung nun nicht garantieren, da man doch einen anderen Blick hat. Nur viele Fragen liesen sich vermeiden wenn nicht soviele Bücher im Umlauf wären die nicht C++ sondern vorrangig C vermitteln.
Noch eine Alternative zum std::vevtor sei auch erwähnt: std::tr1::array (Ist ein Container mit fixer größe, nur muss dazu dein Compiler bereits eine TR1 Umsetzung besitzen, oder man kann zum Teil mittels boost den TR1 nachrüsten). Im Gegensatz zu den C-Arrays kennen beide Container auch sowas wie Kopierkonstruktoren etc.
cu André
-
Selbst für 29 EUR ist der C++ Primer sehr günstig. Habe das Buch mal bei uns im Buchhändler durchgeblättert, das Ding ist ein echt dicker Wälzer und würde normalerweise 49 EUR kosten. Auch von den Themen her fand ich das Buch so aufgebaut, wie ich es mir heute vorstelle: erst die Standard-Library-Basics, wie string und vector, und dann erst zum Lowlevel über gehen. Wenn DAS Buch nicht gut ist, dann schafft es auch kein anderes besser.
-
asc schrieb:
Vor wenigen Wochen hättest du das auch für 2,99 Euro als PDF haben können.
Ich habe lieber ein echtes Buch neben der Tastatur liegen... Da bin ich ganz klassisch

-
Wolfsherz schrieb:
asc schrieb:
Vor wenigen Wochen hättest du das auch für 2,99 Euro als PDF haben können.
Ich habe lieber ein echtes Buch neben der Tastatur liegen... Da bin ich ganz klassisch

In der Regel gebe ich dir recht, aber ein PDF kann schon einmal zeigen ob sich das Buch wirklich rentiert, und spätestens wenn du extrem viel Fachliteratur hast, fragt man sich ob nicht langsam mal sinnvolle E-Paper Lösungen auf den Markt kommen sollten
- Ich warte immer noch auf erschwingliche und sinnvolle Produkte in dieser Hinsicht.
-
Oh das kenne ich sehr wohl

Ich weiß schon nicht mehr wie viel Geld ich für Bücher, besonders aus dem IT-Bereich, schon ausgegeben habe. Viel zu viel, das ist sicher. Andererseits bereue ich fast nie den Kauf eines Buches. Also warte ich geduldig auf Montag, wenn der Primer bei mir eintrifft und ich mal wieder ein frisches Buch aufschlagen darf
-
asc schrieb:
Ob es das optimale Einstiegsbuch ist
Nein ist es imho leider nicht

-
KasF schrieb:
asc schrieb:
Ob es das optimale Einstiegsbuch ist
Nein ist es imho leider nicht

Könntest du das auch begründen?
Zumindestens scheint es eine sinnvolle Reihenfolge ohne C-Vorlasten einzuhalten, der Sprachstil ist nicht ganz trocken, und alle wesentlichen C++ Bereiche werden abgedeckt. Ich mag eine gewisse Betriebsblindheit haben, aber mich würden dennoch mal die Gründe gegen dieses Buch interessieren.
-
asc schrieb:
Könntest du das auch begründen?
Ich finde, dass das Buch viel zu detailiert für nen Anfänger ist. Das ist zwar schön, aber nicht für einen der sich neu mit der Sprache beschäftigt. Besser ist es, dem Einsteiger erst mal ein Gefühl für alles zu vermitteln und einen Überblick über den wichtigsten Spracheigenschaften zu vermitteln.
Zudem setzt das Buch schon leichte Kenntnisse voraus. Es werden Codestücke gezeigt, deren Code noch nicht erklärt wurde und diese erst in späteren Kapiteln erklärt werden.
Als Beispiel, die Sales_Item Klasse die am Anfang entwicklet wird und wo man sieht, wie eine Klasse aussieht und erstellt wird und dann kommt wieder der Wechsel zu den "Einsteiger-Sprachfeatueres". Erst später werden Klassen richtig behandelt.
Das ist prinzipiell nicht schlimm, sowas mal zu zeigen, aber dennoch wiederum zu viel und verwirrend, das zwischen die anderen Sprachfeatuers zu packen.Der Hauptgrund ist aber wie schon erwähnt die Detailreiche des Buches. Wie gesagt ein Einsteiger sollte erstmal das Gefühl, die Prinzipien der Programmierung lernen, bevor er mit jedem einzelnen Detail überrempelt wird.
Nichtsdestotrotz ist das Buch das wahrscheinlich beste C++ Zweit-Buch aufm Markt. Jeder der die Sprache kennt und dieses Buch dann anfängt zu lesen, wird es lieben

-
Widersprichst du dir da nicht selbst? Weil einerseits sagst du, das ein Buch nur ein Gefühl geben soll und noch nicht jedes Detail beschreiben sollte. Andererseits beklagst du, das das du erstmal eine Klasse ohne detailierte Erklärung zeigt. Aber gerade ist doch "Ein Gefühl dafür geben"!.
Ich finde das so schon nicht schlecht: es wird objektorientiert Entwickelt, und es wird Schritt für Schritt die Klasse erklärt. Würde man am Anfang keine Klasse zeigen, wären wir wieder bei C.Du kannst halt am Anfang nicht alles vermitteln, aber du mußt es halt auch gleich richtig machen, auch wenn der Leser vielleicht nicht genau weiß, was eine Klasse ist.
Z.B. wird in vielen Java-Büchern gleich mit String-Klassen gearbeitet, ohne das diese Klasse im ersten Kapitel auseinander genommen wird. Ist auch garnicht nötig! Der Leser weiß, das er die String-Klassen benutzen sollte, will er mit Strings arbeiten. Genau das machen auch der C++ Primer und andere gute C+-Bücher.
In dem Buch www.oop-mit-cpp.de ist genau das gleiche Spiel: dort wird gleich zu Anfang std::vector benutzt, ohne das der Leser jeder Detail von Vectoren kennt. Er bekommt nur auf den Weg, das er da viele Objekte reinpacken kann. Und ja, das reicht auch erstmal. Später wird dann std::vector & Co auseinander genommen.
-
Bulli schrieb:
Andererseits beklagst du, das das du erstmal eine Klasse ohne detailierte Erklärung zeigt
Das Problem ist nicht, dass Klassen am Anfang nicht detailiert behandelt werden, sondern das sie am Anfang behandelt werden und das einfachmal so zwischendrin ( Mit Klasse meine ich nicht nicht Benutzung einer std Klasse, sondern wie man selbst Klassen erstellt ). Ich weiß nicht ob du das Buch gelesen hast, aber ich fands nicht gerade prickelnd, dass plötzlich ein kurzer Klasseneinschub mittendrin stattfindet.
Das std::vector und std::string am Anfang behandelt werden finde ich auch gut, zudem sind sie ja nicht detailiert auseinandergenommen wurden, nur die Benutzung wurde erklärt, was auch ziemlich gut rüberkommt.
Du ließt in einem beliebigen C++ Buch etwas über Referenzen und siehst, was sie machen und wo man sie einsetzt. Du ließt im Primer etwas über Referenzen und alle Kleinigkeiten, alle Nebeneffekten, alles Verbotenen, etc ... wird behandelt. Das ist das was ich meine. Das ist zwar gut, aber nicht für einen Anfänger.
-
KasF schrieb:
Es werden Codestücke gezeigt, deren Code noch nicht erklärt wurde und diese erst in späteren Kapiteln erklärt werden.
Vielleicht kommt hier ein leicher Widerspruch auf. Das Problem ist nicht, dass der Code hier nicht richtig erklärt wird, sondern das er hier besser überhaupt nicht behandelt werden sollte.
Für viele mag das vielleicht ok sein, die schon etwas von Programmieren verstehen, denn diese Codestücke die am Anfang auftauchen sind nicht wirklich schwer. Aber Leute die vorher nicht programmiert haben, werden hier Probleme bekommen.
Ich unterrichte schon seit einigen Jahren Schüler und auch seit zwei Semester Studenten in meinem und unteren Semestern und sehe genau was zuviel ist und was man nicht machen sollte.