Kundenrezension

7 von 21 Kunden fanden die folgende Rezension hilfreich
5.0 von 5 Sternen Genau so wie es soll, 11. März 2014
Verifizierter Kauf(Was ist das?)
Rezension bezieht sich auf: C++: Das umfassende Handbuch, aktuell zum Standard C++11 (Galileo Computing) (Gebundene Ausgabe)
so ist dieses Buch :D

Keine Rezension über C++ Bücher ohne ein Wort über die Sprache zu verlieren.

Wenn man sich überlegt ob dieses Buch für einen ist, muss man automatisch auch überlegen ob C++ für einen ist, und die meisten die dieses Buch noch nicht haben werden höchstwahrscheinlich auch noch kein C++ können.

Nicht das dieses Buch für Programmierer die die Sprache bereits beherrschen uninteressant wäre, so werden jedoch hauptsächlich Anfänger den größten Nutzen davon ziehen.

Für all die jenige die C++ als Sprache der Wahl sehen weil sie denken das man in C nicht Objektorientiert programmieren kann, sollten sich das allerdings nochmals gut überlegen.

Mit Ausnahme von überladenen Methoden und Mehrfachvererbung kann man in C nämlich genauso gut objektorientiert programmieren (Stichwort GObject). Mit Tools wie GOB2 ist das sogar nichtmal komplizierter als in C++ und auch nicht "hässlicher".

Wer C++ lernen möchte weil er eine "richtige" Programmiersprache lernen möchte und keine Interpretierte wie C# weil ihm z.b. die Laufzeit und die verfügbaren Bibliotheken wichtig sind, ist höchstwahrscheinlich auch mit Vala wesentlich besser bedient (hat zu 99% die Syntax von C#, automatisches Speichermanagement u.s.w. u.s.f., wird beim kompilieren allerdings in C umgewandelt um dann vom GCC kompiliert zu werden. Also das beste aus beiden Welten).

C++ ist eine Monstersprache, wesentlich und gut spürbar komplexer als C, ganz zu schweigen von Vala. Wem es wirklich nur um die Objektorientierung geht sollte sich nochmals gut überlegen ob er C++ lernen will, das kann man nämlich unter C genauso gut und unter anderen Sprachen sogar noch bequemer und konsistenter.

Die meisten C++ Entwickler die ich bisher getroffen habe wussten garnicht das 99% der dinge weswegen sie C++ gewählt haben, genauso unter C funktionieren und im Normalfall auch nicht aufwendiger.

Den Umfang den C++ bietet zu beschreiben, würde bei weitem den Rahmen dieser Rezension sprengen, genauso wie es den Rahmen eines solchen Buches sprengt.

Das einzige Top-Killer Argument das für mich letztendlich für C++ sprach, war Qt und zwar in erster Linie die unglaublich riesige Sammlung an Plattform übergreifenden Klassen.

Meine persönliche Empfehlung an alle die C++ lernen wollen ist, erstmal C zu lernen um dann, wenn man etwas in C nicht umsetzen kann (höchst unwahrscheinlich) jederzeit die Möglichkeit zu haben auf C++ zu "upgraden". Das Buch "C von A bis Z" von Jürgen Wolf gibt es sogar Gratis als Openbook auf der Webseite des Verlags.

Wer sich aber trotz allem mit diesem Buch sofort an C++ wagen möchte, dem ein paar Worte zu dem Buch (deshalb sind wir ja schließlich hier).

Man sollte grundsätzlich jedes der Beispiele hier im Buch abschreiben, und zwar so oft bis man sie Blind schreiben kann ohne einen Blick ins Buch oder alten Code zu werfen. Man sollte jedes Wort genau durchlesen und sich stets selbst die Frage stellen "Wieso ist es so wie es ist". Genauso wichtig ist es dran zu bleiben! Wer keine Zeit hat dran zu bleiben soll die Zeit lieber in etwas besseres investieren.

Der Autor setzt allgemeine Computerkenntnisse voraus, wer also Fachbegriffe aus dem Wort nicht versteht, am besten direkt in Wikipedia (nicht Google!) eintippen. Achtung, viele Fachbegriffe kommen oft ebenso in der Mathematik, Physik und anderen Fachbereichen vor, drauf achten das man den richtigen Artikel erwischt und bei Kombi Artikeln den richtigen Abschnitt liest.

Nun aber endlich zu dem Buch, ist es gut oder nicht? Das wollt ihr ja wissen!

Für 1062 Seiten ein eindeutiges Ja! Es ist gut, sogar sehr gut. Für eine Sprache wie C++ sind ~1000 garnichts, ihr solltet also nicht erwartet das ihr nach dem Buch loslegen könnt und die neue Crysis 5 Engine in C++ programmiert oder Linux 4.0. Nach diesem Buch könnt ihr alles was ihr braucht um mit Software Entwicklung in C++ anfangen zu können, nicht mehr und nicht weniger.

Meiner persönlichen Meinung nach ist der Hauptgrund für C++ eben Qt, und dieses Buch bietet alles was ihr braucht um direkt mit Qt weiter machen zu können. Es ist einfach erklärt ohne zu ausschweifend oder langweilig zu werden.

Die Beispiele sind treffend gewählt ohne unnötig vor zu greifen oder Vorkenntnisse zu fordern, die erst Später im Buch erklärt werden.

Der Aufbau ist logisch und nachvollziehbar. Das Buch versucht Windows, Linux und Mac OS X Benutzer gleichermaßen zu bedienen was es, wie ich finde, auch sehr gut schafft. Natürlich führt dies ggf. zu unnötigen Informationen, diese beschränken sich aber größtenteils auf den Anfang. Jeder der noch nie einen Compiler installiert hat und schon garnicht bedient wird sich darüber freuen dass dies hier nochmal Betriebssystem übergreifend erklärt ist.

Wie bereits erwähnt ist C++ eine riesige Sprache, von daher macht dieses Buch weder einen riesigen Exkurs zur libc++ (die ja sowieso in jedem Betriebssystem separat Dokumentiert ist und nochmal der CD bei liegt), noch werden dinge wie Netzwerk-Programmierung, MySQL oder ähnliches erklärt.

Einige kennen vielleicht das Werk C von A bis Z wo eben, bei selber Seitenzahl, noch MySQL, Netzwerkprogrammierung u.s.w. u.s.f. ins Buch gepasst haben, hier werden Sie darauf verzichten müssen! Dieses Buch behandelt die Sprache C++, nicht mehr, nicht weniger.

Es ist ein grundlegender Einstieg und Sie müssen sich auf jeden Fall darauf vorbereiten dass das eigentliche Lernen danach erst los geht!

Unter diesem Gesichtspunkt tut das Buch genau das was es soll.

Wer also C++ lernen will, klare Kaufempfehlung für dieses Buch =)
Helfen Sie anderen Kunden bei der Suche nach den hilfreichsten Rezensionen 
War diese Rezension für Sie hilfreich? Ja Nein

[Kommentar hinzufügen]
Kommentar posten
Verwenden Sie zum Einfügen eines Produktlinks dieses Format: [[ASIN:ASIN Produkt-Name]] (Was ist das?)
Amazon wird diesen Namen mit allen Ihren Beiträgen, einschließlich Rezensionen und Diskussion-Postings, anzeigen. (Weitere Informationen)
Name:
Badge:
Dieses Abzeichen wird Ihnen zugeordnet und erscheint zusammen mit Ihrem Namen.
There was an error. Please try again.
">Hier finden Sie die kompletten Richtlinien.

Offizieller Kommentar

Als Vertreter dieses Produkt können Sie einen offiziellen Kommentar zu dieser Rezension veröffentlichen. Er wird unmittelbar unterhalb der Rezension angezeigt, wo immer diese angezeigt wird.   Weitere Informationen
Der folgende Name und das Abzeichen werden mit diesem Kommentar angezeigt:
Nach dem Anklicken der Schaltfläche "Übermitteln" werden Sie aufgefordert, Ihren öffentlichen Namen zu erstellen, der mit allen Ihren Beiträgen angezeigt wird.

Ist dies Ihr Produkt?

Wenn Sie der Autor, Künstler, Hersteller oder ein offizieller Vertreter dieses Produktes sind, können Sie einen offiziellen Kommentar zu dieser Rezension veröffentlichen. Er wird unmittelbar unterhalb der Rezension angezeigt, wo immer diese angezeigt wird.  Weitere Informationen
Ansonsten können Sie immer noch einen regulären Kommentar zu dieser Rezension veröffentlichen.

Ist dies Ihr Produkt?

Wenn Sie der Autor, Künstler, Hersteller oder ein offizieller Vertreter dieses Produktes sind, können Sie einen offiziellen Kommentar zu dieser Rezension veröffentlichen. Er wird unmittelbar unterhalb der Rezension angezeigt, wo immer diese angezeigt wird.   Weitere Informationen
 
Timeout des Systems

Wir waren konnten nicht überprüfen, ob Sie ein Repräsentant des Produkts sind. Bitte versuchen Sie es später erneut, oder versuchen Sie es jetzt erneut. Ansonsten können Sie einen regulären Kommentar veröffentlichen.

Da Sie zuvor einen offiziellen Kommentar veröffentlicht haben, wird dieser Kommentar im nachstehenden Kommentarbereich angezeigt. Sie haben auch die Möglichkeit, Ihren offiziellen Kommentar zu bearbeiten.   Weitere Informationen
Die maximale Anzahl offizieller Kommentare wurde veröffentlicht. Dieser Kommentar wird im nachstehenden Kommentarbereich angezeigt.   Weitere Informationen
Eingabe des Log-ins
 

Kommentare

Von 1 Kunden verfolgt

Sortieren: Ältester zuerst | Neuester zuerst
1-6 von 6 Diskussionsbeiträgen
Ersteintrag: 16.03.2014 11:08:26 GMT+01:00
Deckard meint:
"...Die meisten C++ Entwickler die ich bisher getroffen habe wussten garnicht das 99% der dinge weswegen sie C++ gewählt haben, genauso unter C funktionieren und im Normalfall auch nicht aufwendiger..."
Dann haben sie noch niemand kennengelernt der sich beruflich damit beschäftigt, andernfalls wäre das ziemlich traurig.

"...Meine persönliche Empfehlung an alle die C++ lernen wollen ist, erstmal C zu lernen um dann, wenn man etwas in C nicht umsetzen kann (höchst unwahrscheinlich) jederzeit die Möglichkeit zu haben auf C++ zu "upgraden"..."
Schlechte Empfehlung, denn genauso sehen die Programme dann auch aus, nämlich schlecht, d.h. man nimmt ein "Feature" von C++ und baut das in ein C-Programm ein.

"...Meiner persönlichen Meinung nach ist der Hauptgrund für C++ eben Qt..."
Schade, dann kennen sie C++ (11!!) offensichtlich nicht (genügend)

Antwort auf einen früheren Beitrag vom 16.03.2014 12:03:54 GMT+01:00
Vamp898 meint:
> Dann haben sie noch niemand kennengelernt der sich beruflich damit beschäftigt, andernfalls wäre das ziemlich traurig.

Alternativmöglichkeit: Sie haben keine Ahnung davon was in C alles möglich ist.

> Schlechte Empfehlung, denn genauso sehen die Programme dann auch aus, nämlich schlecht, d.h. man nimmt ein "Feature" von C++ und baut das in ein C-Programm ein.

Ich hab nicht empfohlen dass man schlechter Programmierer sein soll. Wenn jemand es nicht hin bekommt saubere C++ Programme zu schreiben, nur weil er vorher C gelernt hat, dann soll er nicht programmieren, so einfach.

> Schade, dann kennen sie C++ (11!!) offensichtlich nicht (genügend)

Doch, Sie anscheinend die Möglichkeiten die man in C hat nicht. Welches Feature vermissen Sie denn so schmerzlich in C?

Antwort auf einen früheren Beitrag vom 16.03.2014 14:08:22 GMT+01:00
Zuletzt vom Autor geändert am 16.03.2014 14:08:51 GMT+01:00
Deckard meint:
Mensch jetzt schlagen sich Leute wie Stroustrup, Meyers, u.v.a. Jahrzehnte mit C++ rum und haben dabei möglicherweise keine Ahnung das all dies garnicht notwendig ist. Sie sollten all den Dilettanten mal erklären das sie das Zeug schleunigst in die Tonne treten, weil mit C alles was der wahre Programmier braucht ja schon drin ist. Selbst Apple hat mit Objective-C das einzig wahre C unötigerweise verunstaltet.

Wenn man C++ als (unnötige) Erweiterung von C betrachtet so ist das fast schon zwangsläufig.

Typsicherheit (nicht nur bei Ausgaben) , Generische Typen, Polymorphie, u.v.m.

Antwort auf einen früheren Beitrag vom 16.03.2014 15:20:37 GMT+01:00
Zuletzt vom Autor geändert am 16.03.2014 15:29:12 GMT+01:00
Vamp898 meint:
Zu Typsicherheit hätte ich gerne ein Beispiel.

Generische Typen und Polymorphie gibts in GObject, hier z.b. Generische Typen: https://developer.gnome.org/gobject/stable/gobject-Generic-values.html

Berühmte Projekte die das nutzen sind u.a. alle GTK+ Anwendungen (incl. GNOME u.s.w.), systemd, dbus.

Nicht zu vergessen das man von C, vor allem mit GObject (siehe GObject Introspection), einfach und schnell in jede Sprache kommt. Für eine vorhandene C/GObject Bibliothek hab ich binnen weniger Minuten Bindings für Python, C++, Vala, Java, C#, JavaScript u.s.w., probieren Sie das mal mit C++.

Wir sollten uns vielleicht auf dinge beschränken die es speziell in GObject/GLib nicht gibt.

Antwort auf einen früheren Beitrag vom 16.03.2014 17:21:34 GMT+01:00
Deckard meint:
Soweit mir bekannt unterstützt GObject keine Namensräume. Etwas das zumindest in größeren Projekten sinnvoll oder gar notwendig ist. Operatorenüberladung sollte auch nicht möglich sein. Zur Verwendung von Zugriffmodifikatoten muss wohl etwas "getrickst" werden.
Unter Generische Typen hatte ich jetzt das komplette Template-System, also Typparametrisierung bzw. generische Programmierung verstanden.

Veröffentlicht am 30.03.2014 19:35:20 GMT+02:00
Zuletzt vom Autor geändert am 30.03.2014 20:19:49 GMT+02:00
Sorry, aber dass C# eine interpretierte Sprache sein soll, ist reiner Blödsinn. C# mag zwar im .NET Framework in einigen Aspekten nicht ganz so performant sein wie natives C++, das liegt aber nicht an der Sprache, sondern an .NET (was nicht schlecht ist; wer von C++ zu C# gegangen ist, hats üblicherweise nicht bereut, man ist weit produktiver und wenn es nicht anders geht, schreibt man nativen Code in C++ [oder sonstwelchen Sprachen] und ruft das von C# aus). C# wird da eben gegen die CLR kompiliert, und auf der Zielmaschine in nativen Code, das ist aber was völlig anderes als "interpretiert" (da wird ein Befehl eben direkt von der CPU abgearbeitet; hat auch seine Vorteile, aber nix mit .NET zu tun). Was "look and feel" angeht, ist C# (wie die etwas ältere, nicht ganz so coole, Schwester Java) m.E. nach weit moderner als C++, dem man beispielsweise noch immer die unglückliche Bastardisierung (Kreuzung von K&R-C mit OOP) ansieht. Wers mag, soll damit glücklich werden, für mich ist höchstens Qt ein guter Grund, mehr als nötig mit C++ zu machen

cheers,
UC
‹ Zurück 1 Weiter ›

Details

Artikel

Rezensentin / Rezensent


Ort: Vampirecity

Top-Rezensenten Rang: 4.533.465