const char* - Definition und Einsatz



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