C++ Tagebuch eines Einsteigers und seine Probleme



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



  • Na dann warte mal auf den Nachfolger "More Efficient C++"... Oh man...

    @Topic
    Wie sieht es bei dir denn aus?
    int a, b;
    cin >> a >> b?

    Und die Eingabe ist dann zB: 4 5?
    Dann liest er die beide ein und, da das Programm dann wohl nichts mehr zu tun hat, beendet sich. Windows hat die Angewohnheit nicht explizit geöffnete Konsolenfenster wieder zu schließen wenn das Programm beendet wurde.



  • speaker schrieb:

    zB was nun der Unterschied zwischen \n und endl ist.

    endl gibt \n (neue Zeile aus) und ruft anschließend flush() für den Stream aus (flush() wiederum synchronisiert den Ausgabepuffer des Streams mit dem Ausgabeziel (z.B. wird erst beim flush()-Aufruf deine Ausgabe auf den Bildschirm geschrieben)*.

    Oder warum sich mein Programm, das zwei Werte einlesen soll, getrennt durch ein Leerzeichen, sich beim drücken der Eingabetaste einfach schiesst...

    Das Problem mit dem sich schließenden Fenster hattest du doch schon gestern - jetzt lernen wir noch, daß am Ende einer cin-Eingabe noch ein ENTER im Eingabepuffer zurückbleibt, das vom cin.get() geschluckt wird (eventuell auch weitere unbeachtete Eingaben). Übrigens kümmert sich der FAQ-Artikel, den camper gestern erwähnt hat, auch um dieses Problem.


Anmelden zum Antworten