Wie lange braucht man um C++ zu lernen?



  • Hallo zusammen.
    Als erstes:Ich habe die SUFU genutzt,aber nichts richtiges gefunden.
    Also,jetzt meine Frage:
    Wie lange habt ihr gebraucht,um mit C++ kleinere Programme zu schreiben,z.B. sowas wie Snake.
    Bin für jede Antwort dankbar.
    mfG
    Markus



  • ASCII Snake ca. halbes Jahr. Kommt drauf an wie fleisig du bist



  • 3 Monate



  • du kannst es zwar schnell lernen, kommt aber halt auch dann drauf an wie es du verstanden hast und ob du es überhaupt anwenden kannst.

    MfG Spacemuck



  • Hallo zusammen.
    Besten Dank für die schnellen Antworten.
    🙂
    mfG
    Markus



  • Sind noch andere bereit mir über ihre Erfahrungen zum C++ lernen zu berichten?
    Würde mich freuen.
    mfG
    Markus



  • Ich würde sagen es ist wie Autofahren.
    Man kann es nach ein paar Fahrstunden, aber um wirklich sicher zu sein muss man erst so 100.000 km gefahren sein. Übung macht den Meister.
    :xmas1: :xmas2: :xmas1:



  • Das kommt ganz drauf an, ob man vorher schon programmiert hat und was. Es ist aber auf keinen Fall damit getan, die Syntax der Sprache C oder C++ zu beherschen. Wenn es nämlich darum geht etwas umfangreichere Software zu Entwerfen und zu Programmieren oder sogar welche, die man verkaufen möchte, sollte man erstens mal sehr sehr routiniert sein und zweitens über viele Prinzipien und Gesetzmäßigkeiten bescheid wissen, die hinter dem stecken was man da tut. Und das lernt man nicht in so einem "... in 21 Tagen"-Buch.

    Ich finde Schätzungen wie "ein halbes Jahr" oder "drei Monate" total daneben!

    Um es einmal zu illustrieren: Der Schmied braucht einen Hammer. Das ist sein Werkzeug. Der Programmierer braucht auch Werkzeug, das ist zumeist eine Programmiersprache. Der Schmied kauft sich den Hammer. Der Programmierer lernt C++. Jetzt können beide anfangen was tolles zurechtzuzimmern. Aber genauso wenig, wie der Schmied durch bloßen Kauf eines Hammers plötzlich geniale Gegenstände schmieden kann, kann der Programmierer, bloß weil es weiß was C++ ist plötzlich geniale Spiele oder ähnliches programmieren.

    Um richtig Programmieren zu lernen, und dann ist auch die Sprache egal, denn die Gemeinsamkeiten sind groß, braucht man locker 10 Jahre und im besten Fall ein Universitätsstudium; ohne Übertreibung! Ansonsten kommt das dabei heraus, was alle von uns nicht so mögen: Software, die genau im falschen Moment abstürzt oder schon wieder eine Sicherheitslücke für den neuesten Virus.



  • littlejohn, ich geb dir Recht wenn du sagst um richtig programmieren zu lernen braucht man 10 jahre. ein kleines snake spiel kann man trotzdem wahrscheinlich schon nach 3-6 monaten schreiben, von daher finde ich die antwort ok.



  • ok hustbaer! Das stimmt natürlich. Vielleicht sollte man für diesen Fall gar nicht erst mit C/C++ anfangen, da tuts auch Delphi, oder ohne beleidigend zu sein, Visual Basic. Diese Programmiersprachen sind wesentlich Anwenderfreundlicher und robuster. Das was C++ von solchen Sprachen unterscheided, brauch man nicht um Snake zu programmieren.



  • meiner meinung nach kann man keine schätzung über die lerndauer abgeben. jemand mit solidem hintergrundwissen in sachen programmierung kann nach nem crashkurs von einigen stunden schon anspruchsvolle anwendungen in c++ entwickeln. da kommts wirklich nur drauf an, erstmal die grundsyntax zu kennen. finesse kommt dann über längere zeiträume ganz von allein.

    ein einsteiger in sachen programmierung wird wahrscheinlich länger brauchen, aber je nach potential auch hier wieder grundsätzlich unterschiedlich. jemand mit einer schnellen auffassungsgabe und bisschem mathematischen gespür braucht eventuell nur einige wochen. jemand, der sich überhaupt erstmal mit dem konzept "programmieren" vertraut machen muss, da ihm jegliches geschick für soetwas fehlt, wird signifikant länger brauchen.

    ist also sehr individuell. aber allgemein denke ich, dass jemand, wenn er wirklich 6 monate bei der stange bleibt, weitaus mehr wissen angesammelt haben wird, als für die entwicklung eines spiels wie snake nötig ist.
    dabei will ich nicht sagen, dass snake trivial ist, immerhin berührt es ziemlich viele "hakelige" stellen. aber es ist auch nicht so wahnsinnig kompliziert, als dass man jedwede möglichkeit von c++ ausschöpfen müsste.



  • littlejohn schrieb:

    ok hustbaer! Das stimmt natürlich. Vielleicht sollte man für diesen Fall gar nicht erst mit C/C++ anfangen, da tuts auch Delphi, oder ohne beleidigend zu sein, Visual Basic. Diese Programmiersprachen sind wesentlich Anwenderfreundlicher und robuster. Das was C++ von solchen Sprachen unterscheided, brauch man nicht um Snake zu programmieren.

    Hallo littlejohn.
    So war es nicht gemeint.
    Ein Spiel wie Snake zu schreiben ist nicht mein Ziel,nur an diesem Beispiel kann man mal so abschätzen wie lange man braucht bis man die ersten Erfolge sieht.
    mfG
    Markus



  • wie siehts mit deinen Programmiererfahrungen aus? Wenn du vorher schon ein paar Sachen in anderen Sprachen gemacht hast und das Programmieren an sich nicht mehr lernen musst, kannst du sowas wie Snake in wenigen Wochen schaffen. C++ hat für den Einsteiger meist eine etwas unübersichtliche Syntax. Das liegt zum einen daran, dass immer noch alter C-Balast mitgeschleppt wird und zum, dass die Syntax sehr kompakt gehalten ist. Wenn man sich daran gewöhnt hat, sollte man schnell Fortschritte machen.



  • Hallo.
    Ja,ein bisschen Erfahrung habe ich.
    Habe mal mit Blitz3D kleine Spiele erstellt und kann ein wenig PHP.
    Seit ca. 1 Monat lerne ich C++,aber noch nicht so regelmäßig.
    Das werde ich nun ändern,da alle Arbeiten in der Schule jetzt geschrieben sind.
    mfG
    Markus



  • thordk schrieb:

    ist also sehr individuell. aber allgemein denke ich, dass jemand, wenn er wirklich 6 monate bei der stange bleibt, weitaus mehr wissen angesammelt haben wird, als für die entwicklung eines spiels wie snake nötig ist.
    dabei will ich nicht sagen, dass snake trivial ist, immerhin berührt es ziemlich viele "hakelige" stellen. aber es ist auch nicht so wahnsinnig kompliziert, als dass man jedwede möglichkeit von c++ ausschöpfen müsste.

    Nimm das "weitaus" und ersetze es durch "geringfügig" und ich kann zustimmen 🙂



  • mmh, also ich finde es muss noch gesagt werden, das man nicht 10 jahre braucht um recht anspruchsvolle Programme zu schreiben. Wenn man sich anstrengt, viel Zeit investiert und die richtigen Tutorials mit den richtigen Büchern kombiniert, kann man schon nach etwa einem jahr, ganz brauchbare und gute Sachen programmieren, manch einer kriegt vielleicht sogar nen spaceshooter hin. Aber es braucht bestimmt gut und gerne 10 jahre bis einem das alles in Fleisch und Blut übergegangen ist. Die ganzen Techniken und methoden und Tricks beim programmieren, muss man sich anfangs noch erarbeiten. Und bis man das alles im schlafe beherrscht, was nun mal vorraussetzung ist um stabile und kommerzielle software zu entwickeln, braucht es bestimmt 10 jahre. Aber man kann schon nach einem jahr daran arbeiten größere Projekte zu realisieren.



  • Ich glaube nicht das man einen Zeitraum benennen kann bis jemand C++ beherrscht. Manche brauchen dafür vielleicht wirklich nur 6 MOnate, andere haben es auch nach 30 Jahren nicht kapiert.

    Das Problem liegt ganz wo anders. Wer wirklich programmieren lernen will muß die Fähigkeit haben sich selber immer wieder in Frage zu stellen, die Bereitschaft haben, auch Dinge die er seit Jahren "so gemacht hat" über den Haufen zu werfen wenn sie sich als falsch erweisen.

    Ich erinnere mich da an die beiden "Programmierer" die es als logisch empfanden, true auf 0 und false auf 1 umzudefinieren... das machten sie ja schon immer so... (Leider kein witz)

    Menschen lernen indem sie für richtiges Verhalten belohnt und für falsches Verhalten bestraft werden. So unlogisch dies auch klingen mag, dieses Prinzip ist der Grund warum es so viele schlechte Programmierer gibt. Gerade in der Programmierung gibt es oft viele Möglichkeiten die zu ungefähr ähnlichen Ergebnissen führen. Als Anfänger sieht man aber selten den Unterschied zwischen einer guten und einer schlechten Lösung. Alles was man sieht ist, _ob_ das Programm funktioniert oder nicht.

    Dabei definieren wir "funktionieren" meistens sehr freizügig. So ein Programm kann memory-leaks haben so groß wie Scheunentore und alle 10 Minuten abstürzen, aber wir betrachten es als: Läuft, stürzt nur ab un zu ab... Wenn das Programm aber (nach dieser Definition) funktioniert, dann haben wir ja alles richtig programmiert und halten uns zumindest für einen passablen Programmierer...

    Im realen Leben sind wir es gewohnt kleinere Fehler zu übersehen. Und das ist auch notwendig. Wenn z.B. eine Wegbeschreibung nicht auf den Meter genau ist finden wir so trotzdem zum Ziel. In der Computerei aber ist jeder noch so kleine Fehler halt ein Fehler und ein Programm müßte solange als Fehlerhaft gelten bis es _genau_ das macht, was es soll, und nicht nur ungefähr. Dabei reicht es nicht wenn der Fehler nicht mehr auftritt, imho gilt ein Fehler erst dann als beseitigt wenn man genau erklären kann warum er überhaupt aufgetreten ist.

    Doch um einen Fehler als solchen erkennen zu können muß man im ersten Schritt begreifen, was der Code überhaupt macht. Erst wenn man genau erklären kann was der Code macht und wenn er sich auch genau so verhält wie man es erwartet, erst dann fängt man an Programmieren zu lernen. Ich behaupte das viele diesen Punkt nie erreichen... (Und wers nicht glaubt sollte sich mal die Beispiel auf www.thedailywtf.com anschauen...)


Anmelden zum Antworten