C++ Tagebuch eines Einsteigers und seine Probleme



  • Tag allerseits

    Schon lange steht bei mir ein C++ Buch im Regal, das noch wartet durchgearbeitet zu werden. Nun habe ich endlich Zeit und bin motiviert dafür.
    Ich möchte an dieser Stelle meine Anfangseindrücke beim erlernen von C++ niederschreiben, da ich denke das dies vielleicht auch für andere nützlich sein könnte?
    Das Buch ist also in 21 Abschnitte gegliedert, zu denen ich jeweils ein paar Sätze schreiben werde.

    Mein Lernmittel:
    - Jesse Liberty - C++ in 21 Tagen, eine Einführung in die Objektorientierte Programmierung

    Als Entwicklungsumgebung nutze ich:
    - Bloodshets Dev C++ (Denke das reicht für den Anfang)

    Tag1:
    Ich beginne langsam zu verstehen was die Sprache eigentlich ist, versuche die Grundidee aufzufassen, lese über Linker, Compiler und Bibliotheken. Ich tippe ausserdem mein erstes Programm ein, das Hallo World auf dem Bildschirm ausgeben soll.

    Da taucht schon mein erstes Problem auf:

    Wenn ich das Programm ausführe, blinkt nur kurz so ein schwarzes "Dos"-Fenster vor meinen Augen auf und verschwindet gerade wieder, was muss ich tun, damit dieses Fenster bleibt bis ich es schliesse?

    Hoffe ich werde euch mit meinem Thread nicht nerven und ihr könnt und wollt mir helfen C++ zu erlernen. 🙂

    Gruss

    speaker



  • Zu deinem Problem: mit "cin.get()" bzw. "std::cin.get()" verhinderst du das automatische Schließen des Konsolenfensters.

    Nette Idee das zu schreiben, könnte sicherlich für ein paar Leute interessant sein. Doch eigentlich gehört das doch eher in einen Blog. Im Forum geht das mit Sicherheit, bei den vielen Threads, unter.



  • Tobias W schrieb:

    Im Forum geht das mit Sicherheit, bei den vielen Threads, unter.

    Könnte ja dann vielleicht in die FAQ? Aber gute Idee, finde ich 👍


  • Mod

    Badestrand schrieb:

    Tobias W schrieb:

    Im Forum geht das mit Sicherheit, bei den vielen Threads, unter.

    Könnte ja dann vielleicht in die FAQ? Aber gute Idee, finde ich 👍

    Unzweckmäßig. Schließlich findet sich dort auch die Antwort hinsichtlich des automatischen Schließens. Wer wäre also der Adressat dieses Tagebuchs, wenns es sich in den FAQ befindet?



  • speaker schrieb:

    Das Buch ist also in 21 Abschnitte gegliedert, zu denen ich jeweils ein paar Sätze schreiben werde.

    Mein Lernmittel:
    - Jesse Liberty - C++ in 21 Tagen, eine Einführung in die Objektorientierte Programmierung

    Ich möchte ungern deine Motivation bremsen, aber auch dir der Hinweis das es deutlich bessere Werke als die "In xx Tagen" Reihe gibt.

    Warum?
    - Man lernt in der Reihe meines Erachtens nur maginal etwas
    - Man bekommt den falschen Eindruck wieviel Zeit man auch nur Ansatzweise zum erlernen der Sprache braucht
    - Die wesentlichen Dinge kann ein Buch mit einem Zeitdruck nicht wirklich vermitteln, und am Schluß hat man zwar ein Programm gezaubert, es aber nicht wirklich verstanden

    Vielleicht kannst du daraus lernen, ich kenne aber keinen der mit der Reihe wirklich etwas "gelernt" hat (und ich habe nicht selten Leute erlebt die versucht haben über diese Reihe etwas zu erlernen, inkl. schlechter Eigenerfahrung).

    speaker schrieb:

    Als Entwicklungsumgebung nutze ich:
    - Bloodshets Dev C++ (Denke das reicht für den Anfang)

    Der ist soviel ich weiß recht veraltet, und da C++ sich auch ändert würde ich dir zu einen anderen kostenlosen Compiler raten (z.B. unter Windows: Visual Studio 2008 Express, das man von der Microsoftseite herunterladen kann).

    cu André



  • speaker schrieb:

    Mein Lernmittel:
    - Jesse Liberty - C++ in 21 Tagen, eine Einführung in die Objektorientierte Programmierung

    Hallo speaker,
    Falls Du wirklich (jetzt noch) glaubst mit 21 Tagen hinzukommen, so lies vorher dies.

    Gruß
    Werner



  • Werner Salomon schrieb:

    speaker schrieb:

    Mein Lernmittel:
    - Jesse Liberty - C++ in 21 Tagen, eine Einführung in die Objektorientierte Programmierung

    Hallo speaker,
    Falls Du wirklich (jetzt noch) glaubst mit 21 Tagen hinzukommen, so lies vorher dies.

    Also ich denke schon, dass man nach 3 Wochen das (aller-)nötigste kann, das Buch sagt ja nix davon, dass man nach den 3 Wochen ein Chef-Programmierer ist (hoffe ich zumindest).



  • Schon mal vielen Dank für die Inputs.
    Ich hab halt jetzt mal das Buch zuhause noch rumfliegen, also werde ich damit meine Anfänge machen.
    Meine Erwartung ist keineswegs, danach die Sprache zu beherrschen, sondern Ansatzweise verstehen wie ein Programm aufgebaut und wozu man die Sprache genau verwenden kann.
    Ausserdem möchte ich fähig sein, meine ersten kleinen Progrämmchen zu schreiben und somit kleine mathematische und programmtechnische Aufgaben zu lösen.
    Das mit den 21 Tagen nehme ich nicht wörtlich, ich mache soviel wies mir gefällt und ich Spass dran habe. Zeitdruck besteht keiner, es wird solange dauern wies dauert bis ich mich einem neuen Lernmittel zuwenden kann.

    Ich werde also den Thread beibehalten, und pro Kapitelchen einen Post verfassen mit
    Tag2 etc, indem ich meine Erfahrungen niederschreibe. Es sei denn es wird wehement gegen mein Vorhaben protestiert... Aber denke mir würde es helfen, wenn ich meine neu Erfahrungen mit Leuten teilen könnte, welche sich schon lange mit dem Thema auseinander setzen.



  • @Werner Salomon

    Sehe es ähnlich wie Badestrand. Gerade bei Programmiersprachen ist es wunderbar möglich in kurzer Zeit viel zu lernen. Vorausgesetzt man hat ein gutes Buch an der Hand. Denn die eigentliche Schwierigkeit liegt nicht in der Sprache sondern im dahinter stehenen Konzept (OOP, funktionale Prog., imperative Prog., usw. ...). D.h. es gilt, wie so häufig, kennst du eine, kennst du alle. 🙂

    In dem verlinkten Beitrag wird auch viel Stuss geredet (nichts für ungut 🙂 ), beispielsweise ist das Ziel in einem Informatikstudium nicht das Programmieren und schon garnicht die Ausbildung von Programmierexperten. Und jeder der sich mal durch theoretische Informatik gequält hat, weiß, dass man solche Erfahrungen keinesfalls (auch nicht mit etwas Bemühen) im Beruf machen wird.

    Und was heißt hier es ist fragwürdig, wie weit man durch Lernen mit Büchern kommen kann? Mit den richtigen Büchern kommt man verdammt weit. Inginieursmäßige Erstellung von Software eignet man sich nicht durch "learning by doing" an. Da muss man Konzepte büffeln und verstehen (und üben), sonst wäre das in einem Menschenleben doch gar nicht zu bewältigen.



  • Hab noch nie C/C++ Bücher gelesen, schlimm??


  • Mod

    BorisDieKlinge schrieb:

    Hab noch nie C/C++ Bücher gelesen, schlimm??

    man merkt es.



  • Lern Ada ohne Buch, dann wirst bekloppt. Vor allem wenn du dich an Sprachen wie C++ und Java gewöhnt hast. 😉



  • BorisDieKlinge schrieb:

    Hab noch nie C/C++ Bücher gelesen, schlimm??

    Ich kann dir nur nahe legen zumindestens die beiden Scott Meyer Bücher zu lesen (Effektiv C++ Programmieren, Mehr Effektiv C++ Programmieren). Wobei ersteres vor nicht allzu langer Zeit eine wichtige Neuauflage erfahren hat.

    cu André



  • Ich würde als zweites Buch lieber "Exceptional C++" von Sutter statt "Mehr Effektiv C++ Programmieren" nehmen. Da stehen, für meine Begriffe, notwendige Dinge zu Exceptionsicherheit und Klassendesign drin. Mir persönlich hat es mehr gegeben als "Mehr effektiv...".



  • "Mehr Effektiv gute Buchtitel" ist auch gut. 😉 SCNR



  • hm... ich acker jetzt mal den Wälzer durch. (hat immerhin 900 Seiten da wird doch wohl das eine oder andere nützliche drin stehen) Dann schu ich weiter was mich weiterbringen könnte, wenn die Motivation dann noch vorhanden ist.



  • BorisDieKlinge schrieb:

    Hab noch nie C/C++ Bücher gelesen, schlimm??

    Das musst du selbst wissen. 🙂 Du hast dadurch garantiert(!) viel Zeit verschwendet und es ist fraglich, ob du so ein gewisses Niveau übersteigen wirst.

    speaker schrieb:

    hm... ich acker jetzt mal den Wälzer durch.

    Viel Erfolg dabei! Mal sehen ob du durchhälst. 🙂 Hab mir eben meine Notizen nochmal durchgesehen, aus der Zeit als ich das Ding durchgearbeitet habe. Die fangen bei Tag 3 an und enden tatsächlich erst bei Tag 21. Mein Fazit: Du wirst danach das Verlangen nach "richtigen" c++ Büchern haben. Z.B. das von Stanley Lippman. 😉



  • Buecher, die ich - neben einer guten Referenz - nach einem allerersten Einsteigerbuch empfehlen kann:

    - Scott Meyers' "Effective C++" und "More Effectve C++"
    - Herb Sutters "Exceptional C++" und "More Exceptional C++"
    - Den Struppel (muss ja)

    fuer Fortgeschrittenere dann
    Andrei Alexandrescu: "Modern C++ design"
    Vandervoorde/Josuttis: "C++ Templates"

    von 50-Seiten-Buechern, die sich selbst als Anfaenger-Buecher bezichtigen halte ich nicht besonders viel, haeufig fuehren sie C++ ueber C ein und verkaufen danach grausige printf() und strcpy()-Schlachten als gutes C++, ohne streams und strings auch nur zu erwaehnen, oder/und sie verkaufen den Leser fuer duemmer, als er meist ist, indem sie ein "Hello World" umgangssprachlich (statt in Fachsprache) auseinanderpfluecken ohne einen Wirklichen Einstieg in die Sprache zu liefern. (Wenn die Leser wirklich so dumm waeren sollte man sie imho nicht ermutigen, eine so komplexe Sprache zu lernen)



  • So, Tag2

    Ich habe das erste mal etwas von Funktionen gehört und weiss nun, wie diese grob aufgebaut sind und arbeiten. Ausserdem habe ich erfahren wie man Kommentare gebraucht und viele Tipps gekriegt, wie man diese sinnvoll einsetzen sollte.

    Es werfen sich mir diverse Fragen auf, zB was nun der Unterschied zwischen \n und endl ist. Oder warum sich mein Programm, das zwei Werte einlesen soll, getrennt durch ein Leerzeichen, sich beim drücken der Eingabetaste einfach schiesst...
    Ich hoffe das klärt sich in weiteren Kapitel, bzw. ich finde noch heraus an was es liegt.

    Ansonsten wars eigentlich verständlich.



  • pumuckl schrieb:

    Buecher, die ich - neben einer guten Referenz - nach einem allerersten Einsteigerbuch empfehlen kann:

    - Scott Meyers' "Effective C++" und "More Effectve C++"
    - Herb Sutters "Exceptional C++" und "More Exceptional C++"
    - Den Struppel (muss ja)

    fuer Fortgeschrittenere dann
    Andrei Alexandrescu: "Modern C++ design"
    Vandervoorde/Josuttis: "C++ Templates"

    pumuckl und ich sind auf der gleichen Wellenlänge 🙂 Aber die Bücher sind bei vielen hier natürlich auch Standard.

    Ein Buch was ich neu endeckt habe und seit gestern in meinem Regal schlummert und auf mich wartet:
    Efficient C++:
    http://www.amazon.com/Efficient-C-Performance-Programming-Techniques/dp/0201379503

    Sieht auf dem ersten Blick wie "More Exceptional C++" aus ...


Log in to reply