Breymann etwas zu schwierig - einfachere Einstiegs-Alternative?
-
Hallo zusammen
Da ich, wenn ich was mache, mich genau informiere, habe ich mich natürlich sehr schlau gemacht, welches Buch zum C++ Lernen am besten geeignet ist. Dabei hat sich schnell gezeigt, dass dies der Breymann und allenfalls der C++ Primer wäre. Nun habe ich eine alte Ausgabe vom Breymann eines Kollegen schon länger bei mir stehen und hab da mal etwas hineingeschaut. Ich habe mal ein C++ in 20 Tagen Buch angefangen und deshalb kenn ich mal so die wenigen Basics wie die Datentypen, Zuweisungen, Operationen, Kontrollstrukturen grob. Ich kann damit auch schon gut ein wenig rumprogrammieren, aber was Objektorierntierung (also Klassen, Instanzen etc) betrifft, hab ich noch Null Ahnung. Da ich mit wxWidgets programmiere (n möchte), weil ich grafische Oberflächen nutzen will, habe ich gemerkt, dass ich hier, um den Code, welcher von wxWidgets automatisch erzeugt wird, zu verstehen und für meine Zwecke anpassen zu können, wohl noch einiges an Nachholbedarf habe. Mir nützen auch die Dokumentationen zu den Möglichkeiten in wxWidgets nichts, da ich z.B. bei sowas wie
wxMessageDialog::wxMessageDialog ( wxWindow * parent,
const wxString & message,
const wxString & caption = wxMessageBoxCaptionStr,
long style = wxOK|wxCENTRE,
const wxPoint & pos = wxDefaultPosition
)als Grundgerüst nur mehr oder weniger Bahnhof verstehe und das nicht umsetzen kann. Also langer Rede kurzer Sinn: Ich habe den Breymann mal angeschaut und festgestellt, dass hier doch Dinge vorausgesetzt werden, welche mir nicht bekannt sind. Das beginnt bei gewissen Begriffen und geht über ganze Konzepte wie beim Thema "bit Operatoren" bzw. "Binärsystem". Darum meine Frage: Was würdet ihr empfehlen, damit ich da noch einen besseren "Boden" für den Breymann habe? Ist der C++ Primer dafür geeignet oder doch eher was anderes?
Besten Dank für Eure Vorschläge.
Gruss
Thomas
-
Kannst du mit folgenden Begriffen etwas anfangen?
* Konstruktor
* Pointer
* Referenz
* (Funktions-/Methoden-) Argument?
* Default-Argument?
-
Jein. Konstruktor habe ich beim Überfliegen des Einstiegskapitels zum Thema Klassen mal gesehen. Pointer weiss ich ungefähr, was damit gemeint ist: der Pointer ist sozusagen die Speicheradresse / der Speicherort z.B. einer Variablen, welche man darüber ansprechen kann... Stimmt das in etwa? Aber angewandt habe ich die beiden Themen noch nicht.
-
Wanderer82, überflieg das Buch nicht, sondern lies es.
Gut gemeinter Ratschlag
-
Sorry, aber ich habe nur auf eine Frage geantwortet, deren Sinn sich mir sowieso nicht so ganz erschliesst. Meine Anfangsfrage bezog sich auf Einstiegslektüre, welche den Breymann ergänzt oder das Lesen erleichtert. Denn die von mir erwähnten Begriffe, welche ich nicht verstehe, haben nichts mit dem Überfliegen dieses Kapitels zu tun, denn die Begriffe kommen weit vorher vor. Ich habe ja auch nicht behauptet, ich hätte Probleme, die von daddy_felix genannten Begriffe zu verstehen.
-
Wanderer82 schrieb:
Sorry, aber ich habe nur auf eine Frage geantwortet, deren Sinn sich mir sowieso nicht so ganz erschliesst.
Das sind alles Begriffe, die du kennen solltest, um das Codebeispiel zu verstehen.
Wanderer82 schrieb:
Ich habe ja auch nicht behauptet, ich hätte Probleme, die von daddy_felix genannten Begriffe zu verstehen.
doch, genau das hast du getan:
Wanderer82 schrieb:
mal gesehen. [...]weiss ich ungefähr, was damit gemeint ist [...] Aber angewandt habe ich die beiden Themen noch nicht.
Beschäftige dich bitte erst mit den Grundlagen, dann kannst du dich um Widgets und sowas kümmern.
-
Ich glaube, hier liegt ein Missverständnis vor.
Es scheint mit, als wenn Wanderer82 ein Buch sucht, das als Inhalt vielleicht die ersten 2-3 Kapitel aus dem Breymann enthält. D.h. ein Buch, das wesentlich ausführlicher die Grundlagen beschreibt.
Ich kann leider keinen Buchvorschlag machen, da ich zu wenig Bücher kenne.
Aber vielleicht versuchst du den Breymann zu lesen und fragst hier (oder bei wikipiedia) nach, wenn dir irgendein Fachwort unbekannt ist bzw. nicht erklärt wird.
-
@Wob: Da hast du Recht, das liegt ein Missverständnis vor. Ich wollte im ersten Post nur kurz aufzeigen, was ich weiss (nämlich grob die Grundlagen aus einem C++ in 90 Tagen, ohne objektorientierte Themen) und was ich eben nicht weiss (wxWidgets Beispiele zur Anwendung nutzen). Dann kam gleich die Frage, ob mir verschiedene Begriffe was sagen... das hatte ich aber ja eigentlich bereits gesagt, dass ich das noch nicht durchgenommen habe. Ich habe aber aus Interesse mal den Einstieg zur Objektorientierung gelesen und deshalb sah ich dann auch den Begriff "Konstruktor". So habe ich natürlich auch gemerkt, dass genau das ein Teil dessen ist, was mir z.B. noch fehlt, um mit den wxWidgets-Beispielen zu Recht zu kommen. Damit schliesse ich nicht aus, dass ich allgemein zuerst die Grundlagen erarbeiten soll, um später wxWidgets zu verwenden. Nichtsdestotrotz habe ich das aber schon getan mit einiger Hilfe von anderen Foren. Aber ich möchte es halt nun doch von vorne beginnen. Die Frage an sich hatte aber wirklich nur damit zu tun, dass ich mir noch einen Buchtipp wünsche, wo die Basics, welche im Breymann gar nicht oder nur sehr vage beschrieben werden, von Anfang an erklärt werden.
Hoffe, es ist jetzt etwas klarer...

-
Kenne dafür auch keine Bücher. Aber vielleicht sollte man bei "Grundlagen der Programmierung" oder ähnliches schauen. Als Beispiel ein Google-Treffer; http://www.highscore.de/grundlagen/
Ohne jetzt auf die Schnelle die Qualität des Beispiel beurteilen zu können.
-
Ich habe den Breymann auch gekauft und als Anfängerliteratur ist das Buch völlig ungeeignet. Inzwischen kann ich teilweise damit arbeiten, aber holprig.
Was zum lernen von C++ Basics so mit das Beste ist was ich gesehen habe ist eine Videovorlesung, die wirklich richtig gut ist. Ich habe mich da mit nem Block hingesetzt und quasi ein eigenes Skript aus den Videos erstellt.
Zudem gibt es dort einen sehr schönen Style Checker in Python, der dort erklärt wird.
https://ad-wiki.informatik.uni-freiburg.de/teaching/ProgrammierenCplusplusSS2014
Grüße
-
Hallo und danke für den Link. Ich habe jetzt mal ins erste Video reingeschaut. Das beginnt aber gleich ziemlich zackig mit Modulo, Argumenten für int main, Schleife, die nicht erklärt wird.
Also verstehen tu ich das jetzt schon, aber nur, weil ich das in nem anderen Buch schon mal gelernt habe.
-
der Ratgeber schrieb:
Wanderer82, überflieg das Buch nicht, sondern lies es.
Gut gemeinter Ratschlagnicht nur lesen, sondern zu allem auch übungsaufgaben machen. durch lesen allein hat noch keiner programmieren gelernt.
-
Ich wiederhole gern nochmal, dass ich einen Teil eines C++ in 90 Tagen Buches (mit Übungsaufgaben) durchgearbeitet habe und auch die sehr groben Basics kenne. So habe ich auch bereits mit wxWidgets ein GUI basiertes Programm geschrieben, welches automatisch bestimmte Einrichtungen auf einem PC übernimmt. Es ist nicht so, dass ich nichts kann oder verstehe, aber da ich mit dem Breymann dachte, von Grund auf das sauber nochmal zu lernen, weil ich dann doch sehr vieles immer erfragen musste für meine Vorhaben, wollte ich auch alles verstehen, was da so steht und bei manchen Dingen fehlt eben die Erklärung oder der Tiefgang, was mir bislang fehlte. Ob ich das dann auch alles wirklich brauche, ist natürlich eine andere Frage.
-
Hi, ich lerne auch gerade C++. Was die Grundlagen angeht, solltest du dir mal folgende Seiten angucken und genau durchlesen:
http://www.elektronik-kompendium.de/sites/dig/0208031.htm
http://praxistipps.chip.de/was-ist-ein-bit-byte-einfach-erklaert_42267
http://www.pcgameshardware.de/Neue-Technologien-Thema-71240/Specials/GiB-versus-GByte-605340/
http://www.j3l7h.de/lectures/1112ws/Informatik_1/Skripte/04_Praeprozessor,_Compiler,_Linker.pdfAls Buch empfehle ich dir den C++-Primer, 5th Edition (den von Lippman, nicht den Prata!). Ist in Englisch, die neueste gibt es glaub ich nicht in deutsch. Wenn du einigermaßen Englisch kannst, sollte das kein Problem sein, der Schreibstil ist nicht sonderlich kompliziert. Musst du aber wissen. Besser deutsch und dann mehr mitnehmen, je nach deinen Englischkenntnissen.
Edit: Guck dir das auch noch an, ist zwar für Java, aber gut geschrieben (Interface und Package würde ich weglassen, die sind Java-spezifisch):
https://docs.oracle.com/javase/tutorial/java/concepts/Grüße, non
-
Vielen Dank, werde mir die Links gerne mal näher anschauen! Ansonsten kann ich ja auch, wie jemand anders schon erwähnt hat, bei konkreten Fragen, welche sich bei Breymann ergeben, hier nachfragen.
-
Ansonsten kannst du dich auch mal durch diese Fragen hier durcharbeiten - aber erst, NACHDEM du meinst, du bist mit den Grundlagen halbwegs gut vertraut: https://herbsutter.com/2013/05/06/gotw-1-variable-initialization-or-is-it-310/
-
Wanderer82 schrieb:
Ich habe den Breymann mal angeschaut und festgestellt, dass hier doch Dinge vorausgesetzt werden, welche mir nicht bekannt sind. Das beginnt bei gewissen Begriffen und geht über ganze Konzepte wie beim Thema "bit Operatoren" bzw. "Binärsystem".
Entweder du bist ein (deiner Meinung nach) ziemlich fortgeschrittener Troll (wofür trolling auch immer gut sein soll) oder es fehlen dir gewisse, ganz grundsätzliche Grundlagen was Programmierung angeht.
-
Ok, bevor es irgendjemand bemängelt: "grundsätzliche Grundlagen" ist ein Pleonasmus.
-
Wanderer82 schrieb:
Hallo und danke für den Link. Ich habe jetzt mal ins erste Video reingeschaut. Das beginnt aber gleich ziemlich zackig mit Modulo, Argumenten für int main, Schleife, die nicht erklärt wird.
Also verstehen tu ich das jetzt schon, aber nur, weil ich das in nem anderen Buch schon mal gelernt habe.
du wirst dich mit dem programmieren auseinandersetzen müssen um es zu lernen...
dh. übungsaufgaben machen, dinge evt. auch zwei oder mehrmals lesen oder programmieren und auch begriffe nachschlagen oder mal auf etwas stoßen was dir unbekannt ist und du was du dann nicht verstehst... aber dafür gibt es doch eben bücher?

was fehlen dir denn außerdem für konkret für grundlagen in dem breymann?
vll kann ich dir dann ein buch empfehlen was konkret darüber geht?ich habe den breymann auch und finde ihn sehr gut, später auch als nachschlagwerk ...
ein bekannter hat mit ihm auch angefangen zu programmieren und ist voll auf begeistert, der hatte auch kein vorwissen...
lg
-
Wenn der Breymann zu schwierig ist (das ist er wenn man sich keine Zeit für das Buch nimmt und nur oberflächlich drüberguckt) dann hilft mit höherer Wahrscheinlichkeit dieses Buch über die ersten Grundlagen weiter:
C, Programmieren von Anfang an | ISBN: 9783499600746
und weil das nur C-Grundlagen sind (macht aber erstmal nicht so viel)
dieses als Begleitung:
Accelerated C++ | ISBN: 9780201703535