Einführung in die Programmierung mit c++ (Bjarne Stroustrup) nicht aktuell ?



  • > Im Buch von Bjarne hingegen steht folgendes:

    Was da steht ist besser: Er verdeckt Sachen wie Namespaces und endl erst mal, da es nicht dazu beiträgt, das Programm zu verstehen. Veraltet ist da garnichts. 😉



  • 😉 Es ist Quatsch zu behaupten, "\n" wäre veralteter Käse aus C-Zeiten. std::endl schreibt auch nur ein "\n" in den Stream - darüberhinaus wird der stream ge-std::flush()'d! Und wenn dein Programm lange ist, kann das ständige (unnötige) flushen eine Performancekrücke sein (Puffer leeren, Flags zurücksetzen, usw).
    😉 Ich bin mir sicher, dass wenn man das Buch genau liest, irgendwo übder den Hinweis stolpert, was das "std_lib_facilities.h" ist. Da wird 100% oft benötigtes Zeug includiert, vllt. ein paar Macros definiert, und das "using namespace std;" gemacht. Das dient garantiert nur dazu, den Quelltext im Buch kurz zu halten. Stell dir vor, jedes Beispiel bindet string, iostream, ... ein - was da an Platz draufgeht, da kommen garantiert irgendwelche Umweltaktivisten, die den unnötigen Tod zahlreicher Bäume rächen wollen!

    Also: Der Struppi ist nicht alt und macht auch keinen Schwachsinn!



  • Vielen Dank für Eure Hilfe, Ihr habt mir meine Zweifel als Unwissender genommen 😃 Es ist für einen Neuling wie mich schwer einzuschätzen was, wie, wenn, wo und wesshalb. Zudem möchte ja jeder seine Bücher verkaufen und es gibt ja immer verschiedene Wege bis zu Ziel. Ich werde das Buch durcharbeiten und danach mal schauen wo ich stehe.

    Danke nochmals und weiterhin allen viel spass.

    Gruss Dadeldi

    @padreigh Danke für den Hinweis........Ich hab den Fehler gleich behoben 🙂



  • l'abra d'or schrieb:

    Also: Der Struppi ist nicht alt und macht auch keinen Schwachsinn!

    Ersterem würde ich widersprechen. Letzterem nicht. 😉





  • Also ich hab die 4. überarbeitete Auflage, und da steht so was nicht drin...

    Apropo, Mr. Stroustrup hat mehrere Auflagen von "The C++ programming language" geschrieben... Wennst sagst wie kalt's war sag ich dir warum schnee fiel, oder warum nicht...

    Das ist nicht wirklich schlau gefragt, wer eine gute Antwort will sollte gut Fragen... z.b. in der 2. Auflage von 1996 "Die Programmierspache C++" von B. S. steht, dann kann ich dir sagen was sich in der zwischenzeit geändert hat, oder warum es damals so war, aber so...kann ich nur sagen ???



  • thepower schrieb:

    Apropo, Mr. Stroustrup hat mehrere Auflagen von "The C++ programming language" geschrieben...

    Er hat sogar noch andere Bücher geschrieben, z.B. "Einführung in die Programmierung mit C++", um das es hier geht.



  • Wie jetzt?
    Als allererstes lernt ein Anfänger bei Stroustrup also, dass es eine besonders gute Idee ist,
    'using namespace std' in eine Headerdatei auszulagern?
    Das sollte sich der gute Herr Wolf mal erlauben - dann wäre hier die Hölle los 😉


  • Mod

    Jockelx schrieb:

    Wie jetzt?
    Als allererstes lernt ein Anfänger bei Stroustrup also, dass es eine besonders gute Idee ist,
    'using namespace std' in eine Headerdatei auszulagern?
    Das sollte sich der gute Herr Wolf mal erlauben - dann wäre hier die Hölle los 😉

    Vielleicht steht da ja auch nur using std::endl



  • Hast du das Buch? Aus dem Beispiel kann man nicht ableiten, dass dieser Header den std-Namensraum aufmacht, da könnte auch nur using std::cout; using std::endl; drin stehen. Ich sehe nicht das Problem, aus didaktischen Erwägungen am Anfang eine Menge irrelevante Komplexität zu verschweigen.

    edit: Zu langsam. 😞



  • Bashar schrieb:

    Hast du das Buch?

    Nee.

    Bashar schrieb:

    Aus dem Beispiel kann man nicht ableiten, dass dieser Header den std-Namensraum aufmacht

    Stimmt. Da hab ich ihm vielleicht unrecht getan.

    Bashar schrieb:

    aus didaktischen Erwägungen am Anfang eine Menge irrelevante Komplexität zu verschweigen.

    Falls er den Namensraum aufmacht, geht er mit schlechtem Beispiel voran und das wäre dann auch didaktisch schlecht.



  • Jockelx schrieb:

    Das sollte sich der gute Herr Wolf mal erlauben - dann wäre hier die Hölle los 😉

    Wer ist Herr Wolf? Dein Vorgesetzter oder muss man den kennen?



  • Nein, das ist mein Papa.





  • // disgusting macro hack to get a range checked string:

    // disgusting macro hack to get a range checked vector:
    #define vector Vector

    Sieht ja nicht grad so aus als wäre er selbst stolz auf diesen header. :>



  • thepower schrieb:

    Also ich hab die 4. überarbeitete Auflage, und da steht so was nicht drin...

    ...hat auch keiner behauptet. Du verwechelst da die Bücher. Hier geht es nicht um TC++PL sondern um Programming.


Anmelden zum Antworten