c++ sprache, schwere sprache? anfängerfrage



  • Phython wird ihm den Einstieg in C++ nicht einfacher machen. Ganz im gegenteil, er wird sich auf einen Umstieg in C++ dann erst Recht fragen "Warum ist das so un dnicht wie in Python?".

    Wenn dann lieber eine komplexere wie C++ zuerst lernen, und Python, Java u.a. sind DANACH wie ein Fliegenschiss einfach.

    Ich kann dir folgendes Buch sehr empfehlen:
    http://www.amazon.de/exec/obidos/ASIN/3446402535/qid=1149139692/sr=8-12/ref=pd_ka_12/302-4032128-9016818

    Es ist meiner Meinung nach das beste deutsche C++-Lehrbuch für Einsteiger.

    Viele Einsteigerbücher fangen leider mit für einen Anfänger unwichtigen Sachen an, wie z.B. char-Arrays, Pointern usw. Anstatt die einfachere String-Klasse und Referenzen zu vermitteln. Das Buch aus dem Hansa-Verlag geht meiner Meinung nach den richtigen Weg: Lowlevel-Wissen wird erst in späteren Kapiteln vermittelt und C++-Features die einem das Leben einfacher machen werden in den ersten Kapiteln behandelt. Der meiste Frust für Programmiereinsteiger wird doch nur durch wilde Pointer- und Array-Orgien ausgelöst, den die meisten Bücher und Tutorials einem Anfänger an den Kopf werfen. Obwohl es auch später vermittelt werden kann.

    C++ ist eine komplexe Sprache, soll heißen, sehr umfangreich. Sprachen wie Java werden zwar als einfacher beschrieben, aber das trifft heute nur noch auf die Sprachfeatures zu. Die ganzen Libraries und Techniken die es für Java gibt, machen es nicht weniger komplex. Im Prinzip hast du mit jeder Sprache mit einer gewissen Komplexität zu kämpfen, denn jede Sprache will ja alles können bzw. der Programmierer soll damit alles verwirklichen können.

    Deshalb finde ich es unsinnig den Leuten von C++ als Einstieg abzuraten. Weil auch mit Python man viel lernen muß, um seine Projekte zu realisieren. Willst Du grafische Anwendungen machen? Sowohl in C++, Java, Python u.a. mußt du die Klassen und das Konzept der GUI-Library lernen.

    Wichtiger für einen guten C++-Einstieg finde ich eher Literatur, an der man nicht sparen sollte. C++-Tutorials gibt es im Netz eher weniger gute. Meistens sind sie auch sehr veraltet.

    Ich empfehle dir das C++Buch aus dem Hansa-Verlag. 🙂



  • hallo,

    vielen lieben dank euch für die antworten 🙂

    ich war mal heute in einer bücherei und habe das buch mal durchgeflogen und es hat einen wunderbaren und leichtverständlichen einstieg. ist mit seinen 40 euro nicht gerade sonderlich günstig aber ich denke es ist qualitativ ganz gut und informativ und es hat ja auch satte 750~ seiten 🙂

    also ist es nicht ganz so hoffnungslos und durchaus sinnvoll einfach mal mit so einem buch anzufangen und sich da durchzuarbeiten .. dies ganz alleine und ohne hilfe von ausserhalb? (mal dieses forum ausgenommen) ?

    ich denk mal das ist als wär ich noch nie bergsteigen gewesen und möchte jetzt den mount everest besteigen *g*

    ich hoffe das geht gut



  • Also schaffbar ist es auf jeden Fall. Und Artchi hat schon Recht, wenn du C++ gelernt hast ist Python nicht mehr schwer (auch wenn es sich in sehr vielen Dingen von C++ unterscheidet). Ich hab auch (nach einigen Basic und Batch Spielereien unter DOS) direkt mit C++ angefangen.



  • Du musst es nur verstehen.
    Wenn dir etwas unklar ist, frag einfach hier nach.

    Es ist sogar möglich, eine komplette MMORPG Engine alleine zu schreiben.
    (Modell-loader, eventuelle Skriptschnittstelle, Netzwerkcode usw...)
    Zeitprobleme bekommst du dann bei den tausenden 3D Modellen 🙂



  • C++ zu lernen lohnt sich kaum, es dauert wirklich ewig bis du die sprach richtig kennst, da gibts tausend kleine details und gleiches gilt für die standardbibliothek (die recht klein ausfällt).
    Als Hobbyentwickler bist mit ner höheren Sprache eigentlich besser bedient, so findet sich z.B. für C# ständig mehr Material in allen Bereichen (auch Grafik/Spieletechnische Sachen).
    Also wenn du nicht unbedingt C++ lernen willst, dann würd ich an deiner Stelle zu ner höheren Sprache tendieren.



  • C++ ist eine Hochsprache!
    Wie bereits erwähnt nicht schwerer als alle anderen auch, gerade was Grafik angeht.
    Ob du da SDL in c++ verwendest oder die anbindung von sdl in python ist doch egal.

    Zudem hat jede Sprache ihre Tücken die man halt kennen muss.

    Mein Tipp an dich. Lerne eine Sprache, aber zieh es dann auch ganz durch.
    Immerwieder zwischendurch zu wechseln ist kontraproduktiv.
    Und wenn du eine Sprache dann beherschen tust ist das lernen von anderen kein problem mehr.
    Bis du auf erste nützliche Ergebnisse kommst wird aber mindestens ein halbes Jahr vergehen, dazu braucht man Ausdauer,Praxis und Zeit. Dann klappt das schon.
    Und fals du am Anfang Probleme hast findest du hier im Forum immer Hilfe.



  • Kommt drauf an, was du später machen willst.

    Wenn du wirklich jede Kleinigkeit selbst übernehmen willst, kommst du um C++ nicht herum.

    Ansonsten, wenn es dir eher wichtig ist, mit möglichst wenig Aufwand möglichst viel zu erreichen, lern halt C#.

    Zahlt sich meiner Meinung aber nicht aus, da man damit 100% nicht so viel und vor Allem nicht in dem Umfang machen kann.



  • So, nun muss ich doch auch meinen Senf dazugeben.
    Ich habe richtig mit C++ angefangen (das Basic und Pascal davor in der Schule zähle ich nicht).
    Und ich bin froh darum. Denn C++ ist eine tolle Sprache[*] und bietet viele vielfältige Möglichkeiten. Außerdem sind viele Sprachen syntaxmäßig mit C verwandt. Java oder C# sind so keine Probleme mehr. Man muss sich nur an die neue Standardbibliothek gewöhnen.

    UND erst wenn man C++ programmiert hat (oder noch schlimmer C) DANN lernt man auch die wunderbaren Vorteile solche eleganter Sprachen wie Python [python for president] oder ruby [ruby for president] kennen und schätzen.

    ATM schau ich mir Ruby für Ruby on Rails an.
    Python hab ich auch für mich enddeckt - allerding noch nie was Kroßes (oder Kleines) drin programmiert.
    In der Ausbildung hatte ich halt C++ aber so daheim brauchte ich nie was.
    Aber die Sprache Pyhton hat mir eben gut gefallen.
    Grad bin ich auf dem Rubytripp und möchte dann meine Homepage auch auf die Schiene schicken.
    ATM machen wir in der Uni C und Scheme und dann Prolog.

    Also wenn du was auf meine Meinung gibst:
    Lern C++. Aber C++ und nicht als C getarntes C++.

    C++ wird man nie vollkommen beherrschen - ABER wenn du weißt um was du dich kümmern musst dann werden dir andere Sprachen wie ein Geschenk vorkommen. Das kannst du aber nur würdigen wenn du C++ kennst.

    C kann man dann immer noch schreiben - aber C hat so viele Restriktionen.
    Ich fluche jedes Mal bei den Uniaufgaben zu C dass dies und jenes nicht geht.
    Ist einfach eine komplett andere Welt.

    Wenn du einen einfachen Weg in die Programmierung haben willst:
    Lern Python und Ruby.



  • Dr. Prof schrieb:

    C++ zu lernen lohnt sich kaum, es dauert wirklich ewig bis du die sprach richtig kennst,

    Und? Ist das schlimm? Ich kann auch nicht alles, was mir C++ an Features bietet. Ich habe bis heute keine Verwendung für Metaprogrammierung gefunden. Und ich muß es auch nicht können, so lange ich es nicht brauche. Warum sagen alle, das man C++ bis ins Detail können muß, wenn selbst renomierte Buchautoren (wie Scott Meyers!) sagen, sie beherrchen C++ nicht komplett. Schwachsinn deshalb C++ nicht zu benutzen.

    Trotzdem habe ich schon erfolgreich Projekte in C++ durch gezogen. Um ne GUI-Anwendung zu entwickeln, brauch ich kein C++ Guru zu sein. Ganz im Gegenteil, mit Qt oder der MFC kann ich mit ein paar Mouseclicks was in C++ zusammen basteln. Wie einfach soll es denn noch sein?

    Dr. Prof schrieb:

    Als Hobbyentwickler bist mit ner höheren Sprache eigentlich besser bedient, so findet sich z.B. für C# ständig mehr Material in allen Bereichen (auch Grafik/Spieletechnische Sachen).

    Sorry, C# gibt es erst seit ein paar Jahren. C++ hat letztens seinen 20. Geburtstag gefeiert. Und C++ wird für jedes 3D-Spiel eingesetzt, wie kann es da für C++ weniger Lehrmaterial geben?

    Was kann denn C# besser in Grafik? Es benutzt auch nur die Libs, die es schon für C++ gibt, das bester Beispiel ist die GDI+. Wer die GDI+ kennt, weiß das C++ seeeehr einfach und doch leistungsfähig sein kann.

    Dr. Prof schrieb:

    Also wenn du nicht unbedingt C++ lernen willst, dann würd ich an deiner Stelle zu ner höheren Sprache tendieren.

    Und C++ ist keine Hochsprache?

    Ich hasse mittlerweile diese C++ vs. XZY Diskussionen. Aber immer wieder Leuten C++ auszureden, halte ich für falsch, wenn er von sich aus Interesse an der Sprache zeigt. Man sollte dann lieber Tips geben, mit welchen Libs und Tools es einfacher geht. Anstatt z.B. die Win32-API für Fenster zu empfehlen sollte man ne OO-GUI-Lib empfehlen. Nur ein Beispiel von vielen, die C++ ungerechterweise als "schwierig" erscheinen lassen.



  • hehejo schrieb:

    C++ wird man nie vollkommen beherrschen

    False. Natürlich kann man C++ vollkommen beherrschen. Und damit meine ich wirklich vollkommen.

    Es gibt Leute, die schreiben dir ein Programm in Binärcode, also sag nicht, man wird C++ nie vollkommen können.



  • Renderer[off] schrieb:

    hehejo schrieb:

    C++ wird man nie vollkommen beherrschen

    False. Natürlich kann man C++ vollkommen beherrschen. Und damit meine ich wirklich vollkommen.

    Falsch.



  • renado schrieb:

    ich war mal heute in einer bücherei und habe das buch mal durchgeflogen und es hat einen wunderbaren und leichtverständlichen einstieg. ist mit seinen 40 euro nicht gerade sonderlich günstig aber ich denke es ist qualitativ ganz gut und informativ und es hat ja auch satte 750~ seiten 🙂

    Naja, es ist Fachliteratur, die ist immer etwas teurer. Und es ist mit seinen 40 EUR immer noch 10 EUR günstiger als das C++ Buch von Bjarne Stroustrup, welches sogar für Einsteiger ungeeignet ist. Also, mit dem Hansa-C++-Buch biste schon sehr gut dran, in allen Belangen. Achja, tu dir einen Gefallen, und kaufe nach Möglichkeit die aktuelle Ausgabe.

    Es wird in deiner Programmiererlaufbahn auch nicht das einzige Buch bleiben. Ich habe hier ca. 5 C++ Bücher plus Bücher allgemein zur Software-Entwicklung. Dann kommen noch mal ca. 5 Bücher zur Java-Programmierung. Das Thema Programmierung (egal welche Sprache) ist nunmal komplex und zeitintensiv. Im Laufe der Jahre mußt du Bücher kaufen.

    renado schrieb:

    also ist es nicht ganz so hoffnungslos und durchaus sinnvoll einfach mal mit so einem buch anzufangen und sich da durchzuarbeiten .. dies ganz alleine und ohne hilfe von ausserhalb? (mal dieses forum ausgenommen) ?

    Ja, wenn du Durchhaltevermögen am Anfang hast, und nicht erwatest, das du nach 3 Monaten ein 3D-Spiel entwickeln kannst, dann ist das kein Problem. Mit dem Forum hier haste noch ne zusätzliche Hilfe. Vorallem Praxis und Experimentierfreude (halte ich für sehr wichtig!) sind hilfreich.



  • Artchi hör auf zu trollen! Ich hab nicht einmal geschrieben, dass C++ keine Hochsprache ist, sondern nur von einer höheren Sprache (als C++). Metaprogrammierung ist ein Teil von C++, bzw. ein Paradigma und man kommt natürlich ohne solch eines aus. Gibt aber auch genug syntaktische Fallstricke.

    Ich hab auch nie gesagt, dass man C++ nicht lernen soll. Schließlich kann man als Hobby-Programmierer seine Zeit in so vielen Bereichen "verschwenden". Aber man muss sich darüber im Klaren sein, dass man mit C++ erstmal ne lange Zeit braucht bis man was auf die Beine Stellen kann.
    Ich mag C++ und ich programmiere gerne in C++. Aber ich habe auch entsprechend lange gebraucht um das ganze Wissen anzuhäufen.

    Zu der C#-Sache: mit mehr meinte ich nicht mehr im Vergleich zu C++, sondern dass man immer mehr an Artikel in C# findet. Gerade auf gamedev.net kann man das in den letzten Monaten ziemlich gut verfolgen, wie C# dort zunehmend mehr wird. Klar ist da C++ immernoch die Mehrheit (auch kein Wunder), aber es finden sich immer mehr Leute die C# verwenden dort ein und Artikel in C#.


Anmelden zum Antworten