c++ Buch für TOTALEN ANFÄNGER!!!



  • hallo erstmal,

    ich habe mir fest vorgenommen, c++ zu lernen (ich geh mal von aus, dass das die programmsprache ist, die jeder programmierer können muss.) Ich habe im Internet schon nach guten tutorials gesucht aber bin mit keinem so richtig glücklich geworden und habe eben mal bei amazon gesucht und 2 buchtitel rausgesucht : zum einen c++:programmieren mit einfachen beispielen (ISBN: 3827241065) und zum anderen c++ für spieleprogrammierer(ISBN: 3446403329). was haltet ihr ,,profis" von diesen büchern oder könnt ihr mir ein ganz anderes empfehlen oder sogar eine andere programmiersprache wie zb. java. ich möchte gerne eine programmiersprache lernen womit man allerlei von programmen programmieren kann zb. logistikprogramm, grafikoberfläschen usw. ich hoffe ihr könnt mir helfen. vielen dank schon mal...

    mfg kajott89



  • hallo,
    ich kann das primer bis dato für total anfänger leider nicht empfehlen.
    ein kleines grundwissen sollte da sein, in richtung programmierung.
    bin im primer im zweiten kapitel, ist die vierte auflage die ich gerade lese, sprich die überarbeitete.(sollte besser als die erste sein[die ich auch las] bekomm davon leider nicht viel mit).
    mit null vorkenntnisse kommst da echt schlepppent vorran.........

    grüßle



  • Der C++-Primer wird aber relativ häufig empfohlen... Ich selber kann das schlecht beurteilen, da ich ihn nicht gelesen habe. Ansonsten gibts noch Thinking in C++, das ist auch relativ beliebt (gibt es auch gratis als Online-PDF).

    Wenn du dich für ein Tutorial entscheidest, empfehle ich das hier. Aber mit einem Buch lernt man eben schon effizienter.



  • hallo Nexus,
    darf man fragen womit du lernst bzw die sprache erlerntest?



  • Ich denke, am Besten wäre es, mit einem grundsätzlichen Tutorial anzufangen á la "was ist Programmierung" oder "Programmierung für Einsteiger", das dir die Konzepte von Variablen, Funktionen etc. näher bringt. So ein Tutorial muss nichtmal unbedingt auf irgendeine spezielle Sprache gemünzt sein, da die absoluten Grundlagen eigendlich allen Sprachen gemein sind. Danach sollte "Thinking in C++" was schon genannt wurde eigentlich kein Problem mehr darstellen.



  • chi schrieb:

    hallo,
    ich kann das primer bis dato für total anfänger leider nicht empfehlen.
    ein kleines grundwissen sollte da sein, in richtung programmierung.
    bin im primer im zweiten kapitel, ist die vierte auflage die ich gerade lese, sprich die überarbeitete.(sollte besser als die erste sein[die ich auch las] bekomm davon leider nicht viel mit).
    mit null vorkenntnisse kommst da echt schlepppent vorran.........

    grüßle

    Zugegeben der "C++ Primer" wirft einen totalen Anfänger zu beginn schon etwas ins kalte Wasser, aber bereits ab dem 2. Kapitel wird das Buch ziemlich ausführlich und geht in späteren Kapitels immer weiter ins Detail und man wird über bereits, in den ersten Kapiteln, vorgestellte Sachen immer umfassender Aufgeklärt (z. B. erhält man in Kapitel 3 eine kurze Einführung zu Iteratoren, die ausreicht um sie in kleineren Programmen verwenden zu können, aber erst im 9. und 11. Kapitel erfährt man noch viel mehr Anwendungsmöglichkeiten und Einzelheiten über Iteratoren). Kleine Anekdote: Ich hatte zwar schon ein paar leichte Vorkenntnisse in sachen C++-Programmierung, aber als ich mir vor ein paar Monaten dann das Buch zugelegt hatte (ebenfalls die 4. Auflage) und es in einer der Übungsaufgaben des 1. Kapitels sinngemäß hieß: "Laden Sie sich die Datei Sales_item.h runter..." (in der Datei war eine Klasse zur Abhandlung von Transaktionen einer Buchhandlung definiert), dachte ich auch "Was? Jetzt schon eine Klasse 😮?". Im nachhinein betrachtet (auch wenn ich erst auf ca. Seite 670 von 1000 Seiten bin) finde ich es sehr gut das man so schon sehr früh einen winzig kleinen Überblick darüber bekommt, welche Möglichkeiten man mit C++ hat.

    Und deshalb, weil mir der Aufbau des Buches sehr gut gefällt (erst die Dinge soweit erläutern das man sie schon benutzen kann und später die tiefergehenden, und einen Anfänger vielleicht auch überfordernden, Details klären) und es zudem auch sehr, sehr viele Übungsaufgaben bereithält, die dabei helfen das gelesene noch besser zu verstehen, würde ich auch Anfängern den "C++ Primer" empfehlen. Das ist zumindest meine Meinung zu dem Buch ;).



  • Der Primer ist ein hervorragendes Buch und es liegt in der Natur der Sache, dass Lippman der c++-Experte schlechthin ist.

    Trotzdem kann man das Buch absoluten Programmieranfängern nicht empfehlen. Ich würde sogar dringend davon abraten mit diesem Buch das Programmieren lernen zu wollen. Vieles wird anhand von Codeschnipseln erklärt, es ist sehr detailiert, enthält kaum vollständige Programme und ist meiner Meinung nach für einen Programmieranfänger nicht zu bewältigen.

    Wenn man bereits andere Sprachen kennt und nur c++-Anfänger aber kein Programmieranfänger ist, dann ja, dann kann man das Buch sehr empfehlen um sich tiefgründig in die Sprache einzuarbeiten und als Nachschlagewerk.



  • also würdet ihr eher erstmal ein tutorial empfehlen, was mir die grundbegruiffe näher bringt oder was? gibt es kein buch zb. für lehrgänge oder aus der IT-Ausbildung die man benutzen kann?



  • c++ für spieleprogrammierer

    Also das ist, denke ich für einen Programmieranfänger recht geeignet, da es wirklich keine Voraussetzungen hat (ausser natürlich ein wenig Dateien öffnen usw, was aber kein Problem ist, wenn du hier einen Beitrag schreiben kannst..;))

    Es ist nicht _seehr_ viel drin und auch nicht seehr ausführlich, aber für den ersten Kontakt eignet es sich schon. Wenn man danach aber ernsthafter etwas machen will, dann sollte man unbedingt auch was höheres wechseln. (z.B "Die C++ Programmierspache" von Bjarne Stroustup).
    Für das Buch spricht aber auch noch recht visuelle Beispiele und einen kleinen Einstieg in die Spieleprogrammierung mit der SDL.. (am Ende wird ein Spiel programmiert, was sich für die wenigen Seiten "lernen" doch ansehen lässt).



  • Wenn man absolut keine Ahnung von Programmierung hat, ist man mit C++ total falsch als Einstieg. Ich würde hier ganz klassisch einen BASIC-Dialekt empfehlen. Z.B. Blitz Basic oder FreeBASIC. Mit BASIC lernt man meiner Meinung nach eine echte Anfängersprache, und das ist nichts verwerfliches! Ich habe vor 20 Jahren, auf dem C64 mit dem eingebauten BASIC angefangen. Und das hat glaube ich so ziemlich jeder vor 20 Jahren. Heute müssen/wollen alle gleich mit komplexen Sprachen anfangen... halte ich nicht für schlau.

    Man muß ja BASIC nicht Jahre lang machen, bis man C++ umsteigt. Aber ich sage mal, so ein oder zwei Jahre BASIC...



  • Hallo ich kenne da ein sehr gutes Tutorial:

    http://www.cpp-tutor.de/

    klick da auf C++ Kurs.

    Das ein wirklich sehr gutes Tutorial vor allem auch mit übungen und ausführlichen erklärungen.

    👍



  • Das Buch scheint es leider nicht mehr wirklich zu geben, aber

    Go To C++-Programmierung | ISBN: 9783827314956

    ist wirklich toll für Anfänger.

    Felix



  • Bulli schrieb:

    Wenn man absolut keine Ahnung von Programmierung hat, ist man mit C++ total falsch als Einstieg. Ich würde hier ganz klassisch einen BASIC-Dialekt empfehlen. Z.B. Blitz Basic oder FreeBASIC. Mit BASIC lernt man meiner Meinung nach eine echte Anfängersprache, und das ist nichts verwerfliches! Ich habe vor 20 Jahren, auf dem C64 mit dem eingebauten BASIC angefangen. Und das hat glaube ich so ziemlich jeder vor 20 Jahren. Heute müssen/wollen alle gleich mit komplexen Sprachen anfangen... halte ich nicht für schlau.

    Man muß ja BASIC nicht Jahre lang machen, bis man C++ umsteigt. Aber ich sage mal, so ein oder zwei Jahre BASIC...

    Bullshit.

    Warum sollte man sich mit einer Programmiersprache aufhalten,die man gar nicht braucht, wenn man aktuelles lernen will?

    Wenn man mit C++ anfängt, dann ist das nicht schwerer, als andere Sprachen auch. Man hat später lediglich viel mehr Möglichkeiten etwas zu machen und das wird dementsprechend schwerer.



  • drakon schrieb:

    Wenn man mit C++ anfängt, dann ist das nicht schwerer, als andere Sprachen auch. Man hat später lediglich viel mehr Möglichkeiten etwas zu machen und das wird dementsprechend schwerer.

    Also erfahrungsgemäß haben die meisten mit anderen Sprachen, wie C#/Java weniger Probleme. Die Zeigersyntax ist für die meisten das reinste Mysterium. Bei C++ kommt schon bei kleinen Anwendungen zuviel auf einmal, für Einsteiger.
    Zudem bieten C# und Java einfach von Haus aus wahnsinnig viele Biblitheken mit denen man sich schnell eine GUI oder ähnliches "zusammenklicken" kann. Davon ist C++ weit entfernt. Klar mit Boost, Qt, etc. läßt sich viel machen, aber wie gesagt für Anfänger...

    Andererseits fällt einem vieles leichter, wenn man sich erst einmal lang genung mit C++ beschäftigt hat. Daher lohnt es sich auf alle Fälle C++ zu lernen.



  • Zudem bieten C# und Java einfach von Haus aus wahnsinnig viele Biblitheken mit denen man sich schnell eine GUI oder ähnliches "zusammenklicken" kann. Davon ist C++ weit entfernt. Klar mit Boost, Qt, etc. läßt sich viel machen, aber wie gesagt für Anfänger

    Als Anfänger etwas mit GUI machen zu wollen ist völlig stumpfsinnig. In Java, C# usw. wird auch zuerst mit der Konsole angefangen. Und da ist C++ genau gleich einfach zu lernen.
    Mit den Bibliotheken hast du natürlich recht, man bekommt nicht alles vor die Füsse geworfen. Aber bis man so weit ist, sollte man sich nicht mehr als "blutiger Anfänger" bezeichnen, ansonsten hat man sich definitiv zu wenig mit der Sprache beschäftigt.



  • Hier wird auch vieles behandelt, sowohl C++ als auch in Verbindung mit Qt, wenn man denn eine GUI haben will.

    Sicherlich nicht so ausführlich wie andere Werke aber dafür kann man schnell draufzugreifen.

    Pointer in C++? Geht auch ohne, wenn man denn einmal weiß was Referenzen sind. In Java kann man auch schnell davon verwirrt werden das alles (mit Objekten) Call-by-Reference ist. Die GUI bei Java ist auch (in meinen Augen) komplizierter als zB bei Qt.



  • Fellhuhn schrieb:

    Pointer in C++? Geht auch ohne, wenn man denn einmal weiß was Referenzen sind.

    Ich sage mal: es geht ohne sichtbare Zeiger (STL-Container und Co lassen grüßen).

    muffmolch schrieb:

    Also erfahrungsgemäß haben die meisten mit anderen Sprachen, wie C#/Java weniger Probleme.

    Das mag sein, ist aber wenig hilfreich wenn man den wirklich "C++" lernen will. Und grundsätzlich sieht man bei C#/Java auf C++ Umsteigern (ja, sowas gibt es auch) mehr Probleme als umgekehrt...

    cu André



  • chi schrieb:

    hallo Nexus,
    darf man fragen womit du lernst bzw die sprache erlerntest?

    Ich hatte leider mehrere relativ schlechte Bücher (unter anderem "C++ für Dummys"), was auch dazu führte, dass ich relativ lange viele Teile von C++ gar nicht kannte.

    Was ich aber auch angeschaut habe - und ich habe das Gefühl, dieses Buch hat zu einem Grossteil meines Wissens beigetragen - ist das "C/C++-Kompendium" (Dirk Louis). Dieses Buch ist sehr dick und behandelt viele Themen sehr ausführlich, die andernorts kaum angesprochen werden - so beispielsweise modulare Programmierung. Das kann ich wirklich empfehlen.

    Aber schlussendlich lernt man auch durch die besten Bücher die Sprache nicht, das Wichtigste ist die Übung. Durch kleine Projekte lernt man schnell die objektorientierte Sichtweise kennen und beginnt auch, die Standardbibliothek zu benutzen. So kann man sich ständig weiterbilden.

    asc schrieb:

    Das mag sein, ist aber wenig hilfreich wenn man den wirklich "C++" lernen will. Und grundsätzlich sieht man bei C#/Java auf C++ Umsteigern (ja, sowas gibt es auch) mehr Probleme als umgekehrt...

    Ja, meistens lag das Problem daran, dass diese Leute versuchten, Sprachmittel aus C#/Java krampfhaft in C++ zu übertragen. Wenn man umsteigt, sollte man die Sprache noch einmal neu lernen, oder zumindest die Dinge, die sich anders verhalten (was schlussendlich auf Neu-Lernen hinausläuft).



  • Eine Programmiersprache ist aber auch nur ein Werkzeug und sollte nicht als eierlegende Wollmilchsau bzw. als heiliger Gral angesehen werden. Für jede Aufgabe gibt es mehrere passende Sprachen und da sollte man sich dann einfach die auswählen, die einem am besten passt.

    In den meisten normalen Testfällen ist Java zB nicht interessant, da die VM abschrecken kann. Man will ja schließlich einfach nur ein Executable haben. Anders kennt man es ja anfangs auch nicht. Ebenso wäre es aber auch nicht besonders schlau für rein mathematische Probleme C++ statt Haskell zu verwenden usw.

    Wer also als Programmierer "groß" werden will, sollte möglichst viele Sprachen oder zumindest viele Spracharten/-formen kennen (Interpreter, Maschinencode, Funktional, Iterativ, Objektorientiert etc. pp.).

    "DIE SPRACHE(tm)" gibt es nicht. Daher sollte man als Einstiegssprache die nehmen, die dem am meisten entspricht was man im Endeffekt hauptsächlich machen will.



  • Fellhuhn schrieb:

    ..
    "DIE SPRACHE(tm)" gibt es nicht. Daher sollte man als Einstiegssprache die nehmen, die dem am meisten entspricht was man im Endeffekt hauptsächlich machen will.

    ACK. Und vor allem wo man am meisten Spass hat (wenn man es noch nicht beruflich eine Sprache lernen "muss"). Denn, ohne Projekte helfen dir die besten Bücher nicht.


Anmelden zum Antworten