const char* - Definition und Einsatz



  • @Jockelx sagte in const char* - Definition und Einsatz:

    Sind die Literaturkritiken hier eigentlich alle so fundiert recherchiert?

    Nein!



  • @Swordfish sagte in const char* - Definition und Einsatz:

    @Jockelx Oh, ja es könnte auch das von Till sein.

    Ich habs nur kurz gegoogelt und mir wurde nur das von Till angezeigt. Wenn es von Wolf ist, dann verstehe ich die Kritik natürlich!

    @Swordfish sagte in const char* - Definition und Einsatz:

    Aber auch da bin ich skeptisch

    Ja, sicher, skeptisch bin ich da auch erstmal.Aber ich kenne es halt nicht und auch wenn es mir unwahrscheinlich erschien, wollte ich wissen, ob du es kennst und es wirklich so schlecht ist.
    Gut, aber anscheinend war das eh alles ein Missverständnis, da nicht klar ist, um welches Buch es sich überhaupt handelt.



  • Von dem Buch von Till gibt es online eine Leseprobe (https://s3-eu-west-1.amazonaws.com/gxmedia.galileo-press.de/leseproben/5093/leseprobe_rheinwerk_cplusplus_handbuch.pdf). Das sieht nicht so sagenhaft schlecht aus... es werden strings behandelt, string_views, vectoren, und so weiter. Und es gibt bei Code Samples häufig godbold.org links mit der Implementation. Da habe ich schon deutlich schlechteres gelesen.


  • Mod

    Man erkennt von der Leseprobe, dass es darauf abzielt, moderne Paradigmen als die Basis fuer den Umgang mit der Sprache zu vermitteln. Bspw. rule of zero und andere. Aber wie schlimm oder gut der Brocken wirklich ist, erkennt man erst am letztendlichen didaktischen Produkt, also der Faehigkeit der Leser, zu schreiben, was sie schreiben muessen.
    C++ von A bis Z ist auch nicht in allen Passagen augenscheinlich desastroes, und hatte die fuer seine Zeit jeweils als modern geltenden Paradigmen sicherlich auch z.T. integriert, aber die Programmierer die der Wolf 'gerissen' hat, klatschen im Nachhinein new und rohe Zeiger herum bis ihnen alles um die Ohren fliegt, und sie sich hierher wenden.
    @Swordfish's Schubladendenken ist nicht zufaellig entstanden. Buecher von diesen sog. renommierten Verlaegen, die schick und herausgeputzt wirken und sich als Gesamthandbuch anbieten, stellen sich oft als rein routiniertes 'muss herausgebracht werden' Zeug heraus.



  • @Jockelx sagte in const char* - Definition und Einsatz:

    Gut, aber anscheinend war das eh alles ein Missverständnis

    Mea culpa, ich hätte gründlicher nachsehen sollen.

    @Columbo sagte in const char* - Definition und Einsatz:

    @Swordfish's Schubladendenken

    Ja ne, das war schon bewusstes Schubladisieren. Unglücklich daß es zwei Bücher mit fast dem selben Titel gibt von denen eins mit hoher Wahrscheinlichkeit in die Tonne gehört.



  • @Jockelx sagte in const char* - Definition und Einsatz:

    Sind die Literaturkritiken hier eigentlich alle so fundiert recherchiert?

    Sagen wir mal so: die meisten haben hier gewisse Erfahrungswerte aus denen heraus bestimmte Bücher eben nicht empfohlen werden.

    Aus dem gleichen Grund geht man grundsätzlich davon aus, dass der Stoff der in Sachen C oder C++ an der Uni gelehrt wird in aller Regel outdated ist: Erfahrungen.



  • @It0101 sagte in const char* - Definition und Einsatz:

    Aus dem gleichen Grund geht man grundsätzlich davon aus, dass der Stoff der in Sachen C oder C++ an der Uni gelehrt wird in aller Regel outdated ist: Erfahrungen.

    Ja die wollen leider gleich Zeiger, verkettete Listen etc lehren und dann kommen sie gar nicht bei mehr als C mit Klassen an.
    Letztens jemand gehabt dem ich half und die Vorlesung war schon ein riesen Brecher, aber der erste Teil war alles der C Teil von C++ und am Ende war da noch etwas Objektorientiertes C++. Vorbereitet auf C++ Entwicklung war er dadurch 0.



  • @It0101 sagte in const char* - Definition und Einsatz:

    @Jockelx sagte in const char* - Definition und Einsatz:

    Sind die Literaturkritiken hier eigentlich alle so fundiert recherchiert?

    Sagen wir mal so: die meisten haben hier gewisse Erfahrungswerte aus denen heraus bestimmte Bücher eben nicht empfohlen werden.

    Das hat sich doch längst alles geklärt. Ist das Buch von Jürgen Wolf gemeint, dann gibt es diese Erfahrungswerte und man kann ohne es zu lesen davon ausgehen, dass es nicht gut ist. Ich bin von dem anderen Buch ausgegangen und da gibt es nunmal kaum Erfahrungswerte, weil der halt nicht viel geschrieben hat.



  • @5cript sagte in const char* - Definition und Einsatz:

    @It0101 sagte in const char* - Definition und Einsatz:

    Aus dem gleichen Grund geht man grundsätzlich davon aus, dass der Stoff der in Sachen C oder C++ an der Uni gelehrt wird in aller Regel outdated ist: Erfahrungen.

    Ja die wollen leider gleich Zeiger, verkettete Listen etc lehren und dann kommen sie gar nicht bei mehr als C mit Klassen an.

    In einem gewissen Maß verständlich, da man gerade an der Uni lernen sollte, wie Verkettete Listen, Balancierte Binärbäume, Tries, etc. funktionieren und sie bevorzugt auch in Übungsaufgaben selbst implementieren können sollte.

    Das darf natürlich keine Ausrede dafür sein, dass man Strings in char* hält oder andere C-Fummeleien lehrt. Sowas geht auch in modernem C++-Stil.

    Ich verstehe auch nicht, weshalb anscheinend so viele Professoren und/oder Tutoren sich da nicht selbst weiterbilden und stattdessen seit 30 Jahren den selben Kram lehren.



  • Dieser Beitrag wurde gelöscht!


  • @Finnegan sagte in const char* - Definition und Einsatz:

    In einem gewissen Maß verständlich

    Ich hatte erst C, dann Java in meinem Studium.
    Ich hielt das für sinnvoller insgesamt. Weil dann lernt man beide Welten kennen.
    Und wenn man sich von sich aus für C++ interessiert, hat man dann auch die perfekte Grundlage.

    C++ gabs bei uns als extra freiwilliges Modul dass man belegen konnte.
    Und das war modern C++14. 1A Vorlesung



  • @5cript sagte in const char* - Definition und Einsatz:

    Und das war modern C++14. 1A Vorlesung

    Programmieren lernt man nicht beim Professor.
    Programmieren lernt man ausschließlich in der Praxis (gilt ausnahmsweise mal für C und C++).
    char* ist C
    std:string ist C++

    Durch das verkorkste Sprachdesign von C++ (auch C supporten zu wollen) hat sich leider - insbesondere bei Lehrern,Buchautoren,Tutorialschreiberlingen... - ein Wirrwarr der beiden Sprachkonzepte verbreitet, zeigt sich u.a. an der Vokabel C/C++.
    Die Faulheit von Lehrern zeigt sich dann häufig in Aufgabenstellungen wie - programmieren sie irgendwas mit char* ohne die Standardbibliothek zu benutzen, und das wird dann auch noch als C++ (statt korrekt C) tituliert.
    std:string (und Gesamt-C++) wurde geschaffen, um Programmierlaien den Einstieg in die Programmierung zu erleichtern und Fehlerquellen (Zeiger) zu vermeiden; das hindert diese C++ Laien aber nicht daran, sich als professionelle Programmierer zu bezeichnen und in kritischen Situationen dann doch wieder C einzusetzen, wobei es sich dann natürlich rächt, das Zeigerkonzept von C nicht verstanden zu haben.
    bspw. wirst du im gesamten Linux-Kernel kein std:string vorfinden, sondern ausschließlich char*, was beweist, dass selbst für gigantische praxisrelevante Projekte C - in den richtigen Händen - vollkommen ausreicht.



  • @Wutz sagte in const char* - Definition und Einsatz:

    bspw. wirst du im gesamten Linux-Kernel kein std:string vorfinden, sondern ausschließlich char*, was beweist, dass selbst für gigantische praxisrelevante Projekte C - in den richtigen Händen - vollkommen ausreicht.

    Das kommt nunmal vor wenn man den Kernel in C schreibt 😃

    @Wutz sagte in const char* - Definition und Einsatz:

    Programmieren lernt man nicht beim Professor.

    Aber es wär schön nicht verkorkst zu werden.

    @Wutz sagte in const char* - Definition und Einsatz:

    zeigt sich u.a. an der Vokabel C/C++

    Für mich leider ein Zeichen für C++ Inkompetenz, hab das auch schon in Stellenanzeigen gesehen.
    Wird leider oft zusammengeschmissen. Zitat: "Ist doch fast das gleiche" 😩

    @Wutz sagte in const char* - Definition und Einsatz:

    Durch das verkorkste Sprachdesign von C++ (auch C supporten zu wollen) hat sich leider

    Fluch und (historisch) segen. Du musst die Sprache ja erstmal schmackhaft machen. Weiß nicht ob C++ da wär wo es ist, ohne die beinahe kompatibilität.



  • @Wutz sagte in const char* - Definition und Einsatz:

    Die Faulheit von Lehrern zeigt sich dann häufig in Aufgabenstellungen wie - programmieren sie irgendwas mit char* ohne die Standardbibliothek zu benutzen, und das wird dann auch noch als C++ (statt korrekt C) tituliert.

    Das liegt eher daran, dass man LowLevel Programmierung am Beispiel von C++ zeigen will, um nicht auf C auszuweichen. Ja es geht, aber es ist wohl Konsens, dass das nicht der Weg ist wie man C++ programmieren sollte. Wenn man schon die Verwandtschaft von C und C++ ausnutzen wollte, wären hier reine C Programme besser.


Anmelden zum Antworten