C++ lernen - Welches Buch kaufen?

Aus aktuellem Anlass weil ich mich gerade auch in neuen "Programmier-Technologien" einlese und einarbeite. Ich finde das größte Problem bei deutschen Büchern ist die Aktualität, teilweise kommen da zu bestimmten Themen Bücher raus da gibt es für die Technologie schon zwei neue "Versionen".

Das nächste "Problem" für fast alle (oder alle?) Programmiersprachen, Frameworks, ectl. sind die offiziellen Dokumentationen in englisch. Ich bin jetzt zwar auch nicht der Native-English-Speaker aber ich komme damit super zurecht und irgendwie macht es auch Spaß weil man damit sein Englisch ungemein aufbessert.

Ansonsten habe ich auch schon Erfahrung mit dem ein oder einen Kurs auf Udemy gemacht, ja es gibt dort gute Kurse - aber auch sehr sehr schlecht die nur fürs Geld machen da sind.
 
sh. schrieb:
Ansonsten habe ich auch schon Erfahrung mit dem ein oder einen Kurs auf Udemy gemacht, ja es gibt dort gute Kurse - aber auch sehr sehr schlecht die nur fürs Geld machen da sind.
Besser pluralsight oder etwas anderes nutzen.
Udemy hat sehr toxisches Verhalten gegenüber den Videomachern. Teilweise werden Kurse fremder dort für Geld angeboten.
https://www.reddit.com/r/programming/comments/8ub0vj/why_udemy_is_bad/ (verlinktes Video, das im Detail drauf eingeht ist leider offline genommen)
https://news.ycombinator.com/item?id=16403486
Man findet wirklich genug dazu.
 
sh. schrieb:
Aus aktuellem Anlass weil ich mich gerade auch in neuen "Programmier-Technologien" einlese und einarbeite. Ich finde das größte Problem bei deutschen Büchern ist die Aktualität, teilweise kommen da zu bestimmten Themen Bücher raus da gibt es für die Technologie schon zwei neue "Versionen".
Kommt sehr auf die Technologie an ob es eine Rolle spielt. Speziell C++ wird ja sehr konsequent erweitert. Andererseits bleiben die Grundlagen sehr oft immer die selben. Bei C++ habe ich das bisher leider nur so gesehen, dass man das aufteilt in (ganz grob gesagt) 1. Grundlagen und 2. neuere C++ features (=C++11 und neuer).
Ich weiß nicht, ob man nicht z.B. Smart Pointer direkt bei Pointern besser unterbringt oder Move Semantics zusammen mit Copy / Constructor / Destructor. Jedenfalls wenn das aktuelle moderne Buch derart aufgeteilt ist, dass die neuen features hinten drangeklatscht sind, dann hat das nur begrenzt Vorteile, meiner Meinung nach.

PS.: Bei Ruby on Rails z.B. würde ich sagen sollte man eher versuchen kein Major Upgrade zu überspringen. 3.0 zu 4.0 hat sich einiges geändert auch in der üblichen Praxis, zu 5.0 nicht ganz so viel soweit ich mich entsinne, aber 6.0 ist nochmal viel dazu gekommen. D.h. das hier ein Buch in der Tat nicht älter als ein paar Jahre alt sein sollte. In mein Rails 4 Buch würde ich nur nachschlagen wenn ich sicher bin, dass das noch moderne Praxis ist (oder wegen Legacy Code :D).
Man sollte daher mMn immer vorsichtshalber nachfragen oder recherchieren ob eine Ausgabe auch modern genug ist.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: sh. und new Account()
BeBur schrieb:
Speziell C++ wird ja sehr konsequent erweitert. Andererseits bleiben die Grundlagen sehr oft immer die selben. Bei C++ habe ich das bisher leider nur so gesehen, dass man das aufteilt in (ganz grob gesagt) 1. Grundlagen und 2. neuere C++ features (=C++11 und neuer).

In der Praxis kann man erwarten dass ein heutiges gutes Buch C++11 sinnvoll abdeckt, also dessen features von Haus aus als "grundlegend" ansieht und homogen einarbeitet. Für C++14, 17 und 20 wird man wohl weitere Quellen heranziehen müssen.
Daher würde ich nicht soviel drauf geben ob ein Buch C++17 (oder 20) abgedeckt ist, denn das ist es wahrscheinlich sowieso nicht auf sinnvolle Art und Weise, sondern dass C++11 ordentlich abgebildet wird.
 
  • Gefällt mir
Reaktionen: kuddlmuddl
firespot schrieb:
Daher würde ich nicht soviel drauf geben ob ein Buch C++17 (oder 20) abgedeckt ist, denn das ist es wahrscheinlich sowieso nicht auf sinnvolle Art und Weise
Warum nicht?
Zeitlich?
Die (potentiellen) Features und die Konzepte von C++20 stehen schon seit Jahren fest, davor waren die Konzepte noch etliche Jahre im Gespräch (inkl. Anwendung) und es gab auch schon Implementierungen davon. Und schon seit über einem halben Jahr ist alles bombenfest.
 
sh. schrieb:
Aus aktuellem Anlass weil ich mich gerade auch in neuen "Programmier-Technologien" einlese und einarbeite. Ich finde das größte Problem bei deutschen Büchern ist die Aktualität, teilweise kommen da zu bestimmten Themen Bücher raus da gibt es für die Technologie schon zwei neue "Versionen".

Das nächste "Problem" für fast alle (oder alle?) Programmiersprachen, Frameworks, ectl. sind die offiziellen Dokumentationen in englisch. Ich bin jetzt zwar auch nicht der Native-English-Speaker aber ich komme damit super zurecht und irgendwie macht es auch Spaß weil man damit sein Englisch ungemein aufbessert.

Ansonsten habe ich auch schon Erfahrung mit dem ein oder einen Kurs auf Udemy gemacht, ja es gibt dort gute Kurse - aber auch sehr sehr schlecht die nur fürs Geld machen da sind.

Und drittens:
Sollte man jemals Hilfe benötigen, dann kommt man mit seinem nicht-trainierten Englisch an oder schreibt sogar auf Deutsch, wodurch man keine Hilfe bekommt.

Die Programmier-Community spricht Englisch. Fehlerhinweise sind auf Englisch. Hilfe gibt es auf Englisch. Selbst viele Großprojekte gibt es nicht auf Deutsch. Also lernt einfach Englisch.

Und noch was: Lediglich ~5% der Menschen haben Englisch als Muttersprache, das heißt sehr wahrscheinlich wird das Englisch eines Deutschen, der das paar Jahre in der Schule gelernt hat, nicht so unglaublich schlecht sein.
 
new Account() schrieb:
Warum nicht?
Zeitlich?
Die (potentiellen) Features und die Konzepte von C++20 stehen schon seit Jahren fest, davor waren die Konzepte noch etliche Jahre im Gespräch (inkl. Anwendung) und es gab auch schon Implementierungen davon. Und schon seit über einem halben Jahr ist alles bombenfest.

Ich meine tatsächlich verfügbare Bücher / Wissensquellen zum Lernen, und nicht was es theoretisch geben könnte weil C++20 bereits durchspezifiziert ist.

Der OP will C++ lernen. Kennst du ein Buch das von Grundsachen ausgehend bis inkl. C++17 - und das ist ja schon 3 Jahre her - sinnvoll abdeckt dass man wirklich auf C++17 Stand ist? Mir ist keines bekannt. (Für C++17 alleine ist "C++17 - The Complete Guide" von Josuttis sehr empfehlenswert, aber das setzt voraus man kann bis C++11/14). Selbst relativ wichtige features in modernem C++, wie Lambdas wo sich seit C++11 viel getan hat, werden auch in sogenannten aktuellen Büchern oft stiefmütterlich genug behandelt. Von all den Ergänzungen zur Standardbibliothek oder template-features seit C++11 ganz zu schweigen.

In der Praxis kommt man relativ leicht auf C++11; für ein rundes Wissen über C++14 & 17 brauchts aber wohl Zusatzliteratur.

Und wenn es schon für das Wissen zu C++14/17 wie ein Fleckerlteppich ausschaut, brauchen wir - Stand heute - uns über C++20 gar nicht den Kopf zu zerbrechen (Ich vermute dass da in relativ naher Zukunft einige neue Gesamtwerke zu C++20 erscheinen werden, eben weil es ja der größte Sprung seit C++11 ist. Nur wann weiß keiner).
 
Danke an alle, insbesondere an HerrRosi mit seinem Hinweis aus Youtube. Das scheint mir gut für meine Bedürfnisse zu passen. Alles andere werde ich dann mit Hilfe der englischen Doku versuchen zu lösen.
 
Youtube würde ich auch empfehlen
Und ganz wichtig: immer nebenbei code mittippen, pause machen, ausprobieren, verändern, rumspielen
 
Danke Knuddelmudel. Genau das mache ich jetzt.
Die Tutorials von Pilzschaf sind zur Zeit mein Favorit.
Den Breymann schaue ich mir an, wenn die Neuauflage da ist (10/2020).
 
  • Gefällt mir
Reaktionen: kuddlmuddl und owned139
Also meiner Meinung nach sind die Bücher vom Rheinwerk verlag meistens sehr ordentlich. Bei C++ sind diese auch recht aktuell. Gibt glaube ich eins was mindestens mal den C++17 Standard behandelt.

Ich selber habe das Python Buch von denen (Stand Python 3.6, weiß nicht ob es schon ein Buch zu 3.8 gibt) und vor kurzem habe ich mir die Neuauflage von C A-Z geholt (Behandelt den C18 standard)

Ich sehe diese Bücher aber nur als grundlegenden Einstieg in die Sprache (auch wenn beide Bücher in meinen Augen sehr gut sind). Als ich z.B. das Python Buch "durch" hatte (hab ein paar Kapitel nicht durchgearbeitet sondern nur gelesen) habe ich danach hauptsächlich mit der Dokumentation weitergearbeitet um mehr zu lernen und die ist nunmal auf Englisch.

Daher kann ich auch nur klar sagen, dass man für weiterführende Dinge auf jeden Fall Englisch beherrschen sollte.
 
Don_2020 schrieb:
Welches kann emfohlen werden und warum?
tl;dr: keines.
Ich hab den C++ Primer gekauft. Beim lernen von C++ hab ich dort eigentlich nie rein geschaut. Aus meiner Sicht eignen sich Bücher einfach nicht, um programmieren zu lernen.
Man findet alles (Dokumentation, Tutorials,...) online an, was notwendig ist.
 
Ich lege auch meine 2 Cent hier mal rein.

Zu aller erst über was für Anfänger Kenntnisse reden wir? Das kann in meinen Augen alles heißen.

Zudem solltest du dir Gewohnheit "Programmierbuch auf Deutsch" ganz schnell abgewöhnen.
Die Welt der Programmierung ist stark englisch-lastig, ohne Englisch Kenntnisse kommst du nicht weit. Klar gibt es vieles auf Deutsch und der gute alte Translator hilft auch mal, aber zu sagen, dass man Englisch nicht braucht ist absolut naive (Die Dokumentationen sind meist nur auf Englisch, aber die liest sich ja eh keiner mehr durch.... leider).

Falls du doch ein paar Englisch Kenntnisse hast, empfehle ich dir Anfangs die App Sololearn.
 
Zurück
Oben