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



  • 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.



  • Hallo

    Also ich bin ja auch neu und ich orientiere mich oft bzw manchmal an dem Openbook von Galileo

    http://openbook.galileocomputing.de/c_von_a_bis_z/c_000Vorwort_000.htm#Xxx999266

    find ich oft gut erklärt.

    Ok ab und zu muss man sich hineinversetzen können in das was man möchte und wo man was braucht aber wenn man sich das Buch durchliest kann man bestimmt mindestens bischen was programmieren in C.

    😉

    aber vielleicht gibts besseres für Anfänger



  • Ich bin selber Anfänger, und kenne nicht wirklich viele Bücher, kann jedoch sagen das die Tutorials meiner Meinung nach nicht so toll zum einfinden waren.
    Also habe ich mir überlegt ein Buch zu kaufen und habe mir anschließend dieses gekauft:
    "Einstieg in Visual C++ 2008" von André Willms
    Es gefällt mir wirklich sehr gut und hat auch immer schöne Beispiele und Übung am Ende jedes Kapitels dabei.
    Es ist in 3 große Abschnitte gegliedert, wo man zum einen "ANSI-C++" lernt, anschließend wird auf "C++/CLI" eingegangen und am ende noch "Oberflächenprogramierung".
    Ich bin selber erst auf Seite 300 von >600 aber kann schon sagen das die Übungen wirklich gut sind.
    Vorallem am Ende habe ich schon entdeckt das dort auch einige Praktische Anwendungen als Übung sind, wie ein DatenExplorer eine Adresslisten-Verwaltung und mehr.



  • ok, vielen dank für eure schnellen und hilfreichen antworten. ich werde mir jetzt erstmal 1-2 bücher zu diesem thema holen und ein paar turtorials mit beispielen runterladen und dann hoffe ich, dass das klappt. nochmals vielen dank an alle! echt ein super forum! ich hoffe ihr könnt mir später in fragen zu c++ weiter herlfen. ich merke, hier bin ich an der richtigen stelle. danke



  • drakon schrieb:

    Als Anfänger etwas mit GUI machen zu wollen ist völlig stumpfsinnig. In Java, C# usw. wird auch zuerst mit der Konsole angefangen.

    Ja und nein. Es kommt immer darauf an, was du machen möchtest. Und mal ehrlich, was genau sind denn die Grundkenntnisse, die man benötigt bevor man ne GUI "verwenden" kann? Ein paar Kontrollstrukturen, Basiswissen über Klassen, Compiler und Linker Funktionalität und das war's.

    Als Beispiel:
    Neulich sollte ein Student irgendwelche Kraftberechnungen durchführen.
    Die Ergebnisse hat er in eine ASCII Datei geschrieben und anschließend mühselig via winGnuPlot dargestellt. Naja, darauf hin habe ich ihm unser QtFunctionPlotter-Paket gegeben und das einige was er machen musste war:

    graph.addXY(x,y); 
    ...
    graph.view();
    

    Hat er trotz erst 14 täger "Programmiertätigkeit" problemlos hinbekommen...



  • Bei Grafik hast du aber gleich zusätzlichen Ballast. Im Grunde will man ja die Sprache erlernen und nicht die Nutzung irgend welcher (built-in) Toolkits. Es ist nicht unbedingt schwer, nur ist es eine zusätzliche Fehler- und Frust-Quelle, die einfach vermieden werden kann, indem man sich einfach nur mit den Standard-Dingen herumschlägt und jegliche Form von IO auf dem Grundlevel hält.

    Erst wenn man die Grundelemente einer Sprache beherrscht, sollte man in meinen Augen den Schritt wagen tiefergehende Dinge wie Threading, Grafik, Sound, Netzwerk etc. anzugehen.



  • 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...

    vor 20 jahren war basic auch noch eineaktuelle sprache...da wäre es wohl angebrachter eine sparche zu empfehlen welche heute auch noch als aktuell bezeichnet werden kann...


Anmelden zum Antworten