Methoden mit bool-Parametern und "Lesbarkeit" im Kontext



  • Undertaker schrieb:

    groteske syntax

    Jaja einfach mal sich die mühe machen die sache zu verstehen und schon gibt es keine problemen mehr. Wobei ich lieber syntax als maskulinum sehen würde: Der syntax hört sich doch besser an als die syntax... Wo sind wir denn? Naja mal abgesehen von dem oberen bedeutungsfreien text, kann ich dir mit grotesk z.B. bei der std lib teilweise zustimmen. std::tütü<std::allocator<std::useless_template<int>>> : public std::char_traits<std::self<templates_are_complicated<int>>
    {
    typedef riesen_gewäsch<this> that;
    };

    Da kann ich nur sagen: Viele danke, ich war auch auf universität



  • Undertaker schrieb:

    Mr. N schrieb:

    Xin schrieb:

    Mr. N schrieb:

    Undertaker schrieb:

    Shade Of Mine schrieb:

    aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.

    na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
    bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher.

    Lass uns doch bitte in Ruhe mit deinem lächerlichen Kreuzzug gegen C++.

    Ich halte C++ für die beste Sprache am Markt.
    Für die syntaktische und semantische Analyse ist sie allerdings wirklich nicht optimal ausgelegt.

    Trotzdem passen Undertakers willkürliche C++-Feindseligkeiten nicht hier her. Hier darfst nur du (Xin) rumpöbeln! :p

    oh nein, leidest du jetzt auch unter verfolgungswahn? 😞
    ich hab' nur shady's aussage kommentiert, weil ich der meinung bin, dass C++'s teilweise groteske syntax nicht gerade eine einfache fehlererkennung zulässt. es hatte weder etwas mit feindseligkeiten noch 'nem kreuzzug zu tun. du weisst sicher selbst, wie leicht man einen C++ compiler überfordern kann und welche undurchsichtigen fehlermeldungen von solchen compilern manchmal produziert werden.
    🙂

    Verfolgungswahn? Nein, ich weiß nur, (a) wie deine Meinung zu C++ ist und (b) dass du keine Ahnung von C++ hast. Du kannst gerne versuchen, über Typsicherheit mitzudiskutieren, aber ich glaube, das ist nicht dein Interesse. Über die Typsicherheit von anderen Sprachen möchte ich zumindest an dieser Stelle nicht diskutieren. Sorry.



  • so n schei* schrieb:

    ich les hier nix mehr ist doch nur müll

    Och komm ein bisscehn optimismus hat doch noch niemanden geschadet

    Und xin bitte verzeihe mir mein ungebühliches einfach-als-unreg-schreibendes verhalten, es tut mir ja sooo leid, aber der borherige post von shade war doch sehr überzeugend oder etwa nicht?



  • Und Undertaker und MrN:
    Bitte nich in die haare kriegen, ich seid doch so nette leute.
    Herr Undertaker mag kein C++,
    Mister Moe jedoch sehr,
    Undertaker sagt MrN hat nen Schuss,
    dabei holt sich MrN ein gewehr

    und weiter will ich mal nicht fortführen...



  • Xin schrieb:

    rüdiger schrieb:

    ROFL Das ist gut. Damit kannst du glaube ich jeden Physiker mit vor lachen vom Stuhl hauen. Falls der Beitrag kein Spaß war, würde ich dir aber mal zum lesen eines Physik Buches (da reicht was simples, ist ja ein sehr grundlegendes und einfaches Thema) raten.

    Ein bißchen weiter gelesen und Du hättest gemerkt, dass Du kalten Kaffee aufwärmst. Was CStoll da erklärt hat ist mir bis jetzt unverständlich, Jester glaubt, dass er Spannung und Volt unterscheiden möchte, was ich für sehr gut möglich halte, aber für irrelevant bei Typsicherheit. CStoll äußerte ein "Du kapierst es nicht" und wird das Geheimnis was er erklärte wohl mit ins Grab nehmen.

    Wenn es irrelevant für Typsicherheit ist, dann nimm doch bitte keine Maßeinheiten als Vorlage, wenn du sie nicht verstehst. Was CStoll gesagt hat war übrigens sehr eindeutig. Es ist auch einfach kein Geheimnis was er schreibt, das steht in jedem (Schul-)Physik-Buch. 🙄



  • Xin schrieb:

    merker schrieb:

    Sowas erschwert nur die Strategie zur Aufspürung logischer Fehler im Programm. Finde mal heraus, welches Objekt die Daten versemmelt haben könnte.

    Okay... ich gebe zu, dass ich gewisse Grundfähigkeiten als Voraussetzung ansehe, z.B. eine Expression zu debuggen, die inkompatible Typen aufweist.
    Ist ja nicht so, als wäre das ein Problem, dass in C++ sonst nie auftreten würde...

    Logische Fehler findet man aber nicht in einzelnen Zeilen. Die (mögliche) Kombination der Zeilen ist immer der Fehler.
    🙂



  • Wozu Fehler vermeiden, wenn man doch debuggen kann? 🤡 👍



  • fxgdfgfdg schrieb:

    Undertaker schrieb:

    groteske syntax

    Jaja einfach mal sich die mühe machen die sache zu verstehen und schon gibt es keine problemen mehr.

    naja, aber dadurch wird die sache auch nicht besser 😉

    Mr. N schrieb:

    Du kannst gerne versuchen, über Typsicherheit mitzudiskutieren, aber ich glaube, das ist nicht dein Interesse.

    richtig. ich hab' nur ein bestimmtes statement herausgepickt und kommentiert.

    Mr. N schrieb:

    Über die Typsicherheit von anderen Sprachen möchte ich zumindest an dieser Stelle nicht diskutieren. Sorry.

    ich auch nicht. ich schrieb was von zusatz-tools, die codes nach fehlern durchsuchen können und die machen einen besseren job als compiler (deshalb gibt es diese tools ja auch).
    äääh, dazu fällt mir gerade ein: vielleicht wird von euch typsicherheit ein klein wenig überbewertet.

    aber nun - zurück zum thema...
    🙂



  • fxgdfgfdg schrieb:

    Wobei ich lieber syntax als maskulinum sehen würde: Der syntax hört sich doch besser an als die syntax...

    komsmt du aus österreich oder wat? der syntax? *kopfschüttel*eh 👎 👎



  • ne i komm usm ländle woisch
    da hat elles irgend an andres gschlecht

    Nu mal aber wirklich ernsthaft: Der syntax hört sich doch viel besser an, genauso wie der Kristall, oder der Sieb!



  • Xin, du hast eine komplett andere Vorstellung von Typsicherheit (oder Physik) als jeder andere Mensch den ich kenne. Ich bin es deshalb langsam leid, dass du alle Argumente immer vollkommen ignorierst und nur behauptest wir alle haben keine Ahnung.

    Wikipedia sagt zur Typsicherheit zB:

    Typsicherheit bezeichnet den Zustand (einer Programmausführung), bei dem die Datentypen gemäß ihren Definitionen in der benutzten Programmiersprache verwendet werden und keine Typverletzungen auftreten. Werden dementsprechend Typfehler spätestens zur Laufzeit erkannt, spricht man von „typsicheren Sprachen“. Typsicherheit herzustellen ist Aufgabe des Compilers bzw. Interpreters.

    Und hat damit eine andere Definition als du. Auch Wikipedia ist nicht der Weisheit letzter Schluss (genauso wie Schulbücher) - aber immerhin scheinen wir nicht alleine mit unserer Vorstellung von Typsicherheit (und Physik) zu sein - deine Definitionen habe ich dagegen noch nirgendwo gehört oder gelesen.

    Nur als kleiner Denkanstoss: du unterhältst dich hier nicht mit Kiddies - die meisten von uns arbeiten seit Jahren täglich mit C++ oder anderen Sprachen (Sprachen von denen du vermutlich noch nichtmal etwas gehört hast - also bezüglich Horizont erweitern und so). Wir wissen also sehr wohl wovon wir reden. Die Masse hat natürlich nicht immer recht - aber es sollte dir dennoch zu denken geben wenn deine Ansichten komplett anders sind als die aller Anderen. Vielleicht bist du ein Genie dass einfach um Jahrzehnte uns allen voraus ist - vielleicht sind deine Ideen und Ansichten aber auch einfach nur falsch.

    Ich weiß, dass mein Chef mir den Hals umdrehen würde wenn ich ihm erklären würde dass ein Fehler durch unachtsamkeit der Firma ein paar Tausend Euro gekostet hat. Deshalb ist es für mich nicht vorstellbar Code zu schreiben wo ich nicht alles mir mögliche tue solche Fehler zu verhindern. C ist in dieser hinsicht furchtbar - ich will nicht wissen wieviele Millionen Euro dumme Tippfehler in C schon gekostet haben. In C++ hat man die Möglichkeit sowas abzufangen (in den meisten Fällen). Es ist fahrlässig es nicht zu tun.

    Ein "selber Schuld" kann ich nicht anbringen. Klar hat dann ein anderer Programmierer den Fehler gemacht und nicht ich - aber ich hätte ihn verhindern können. Das hat nichts mit "mit Watte anfassen" zu tun oder dass Niemand mehr für sich selber denken soll, sondern einfacher Selbsterhaltungstrieb. Denn im Endeffekt kostet sowas meiner Firma Geld und das ist nie gut. Programmierer haben auch idR komplexere Probleme zu lösen als darauf zu achten ob man da jetzt einen non-explicit CTor schreiben darf (der logisch das richtige wäre) und dann noch alles richtig funktioniert oder nicht. Solche Fehler kosten Tage um sie zu finden. Und Zeit ist Geld.

    Deshalb weiß ich, dass ich deinen Ansatz nie in einem produktiv System rechtfertigen kann. Es ist einfach fahrlässig statische Checks nicht einzubauen weil der Anwender des Codes gefälligst selber denken soll. Das ist eine Argumentation die nicht wirklich zieht.

    Dir wurden eine Menge Nachteile deines Systems gezeigt - du hast uns allesamt dafür beleidigt und die hälfte aller Argumente ignoriert. Du stehst mit deinen Ideen allein auf weiter Flur und Niemand scheint die Vorteile zu verstehen - du selber sagst auch, dass es keine gibt. Aber wie ich dir schonmal gesagt habe: wenn es keine Vorteile gibt, so ist dies ein Nachteil. Denn es ist weniger Know-How vorhanden um mit dieser Methode umgehen zu können.

    Ich würde es wirklich begrüßen wenn du dich ein bisschen mehr bemühen könntest dich wie ein vernunftbegabter Erwachsener zu benehmen und nicht bei jedem Widerspruch sofort von Kindergarten zu reden und davon dass alle Leute keine Ahnung von garnichts haben. Niemand hier hat dir vorgeworfen dass du dumm seist oder dergleichen - du wirfst es uns aber quasi in jedem Post von dir an den Kopf. Mit der Zeit wird es langweilig - aber wir wissen ja, wenn einem die Argumente ausgehen...

    Deine Ansichten und Definitionen sind komplett anders als so ziemlich alles was ich je gehört habe (und ich habe schon eine Menge gehört). Das alleine sollte Grund genug sein die herkömmlichen Ansätze nicht als "dumm" hinzustellen - du stellst damit so ziemlich die gesamte Programmiererschaft der letzten 40 Jahre als dumm hin. Es mag vielleicht sein dass wir alle Dumm sind und deine Ansätze um soviele Klassen besser sind dass Niemand den Vorteil zu sehen vermag den sie bieten - aber sind wir uns ehrlich: wie groß ist diese Wahrscheinlichkeit?

    @Undertaker:
    Deine Trollerei in ehren - aber ein C++ Compiler liefert kaum eine andere Fehlermeldung als ein C oder ein Java Compiler. Da die Sprache komplexer ist, gibt es Situationen wo die Fehlermeldung komplex ist - aber es geht hier um simple Typenumwandlung und da sind die Fehlermeldungen mehr als deutlich.

    Es gibt nebenbei bemerkt enorm viele Plattformen wo man deutlich schlechtere Fehlermeldungen als in C++ bekommt. Es hängt im Endeffekt dann ja doch immer am Compiler was er ausspuckt.



  • Shade Of Mine schrieb:

    @Undertaker:
    Deine Trollerei in ehren

    danke! endlich jemand, der das zu schätzen weiss 😉

    Shade Of Mine schrieb:

    - aber ein C++ Compiler liefert kaum eine andere Fehlermeldung als ein C oder ein Java Compiler.

    das ist nicht dein ernst.
    oder meinst du vielleicht 'sinngemäss'?

    Shade Of Mine schrieb:

    Da die Sprache komplexer ist, gibt es Situationen wo die Fehlermeldung komplex ist

    ja, aber muss das sein? ich finde nicht. eine fehlermeldung sollte sich auf das wesentliche konzentrieren und einem nicht sämtliche fehlschläge des parsers vor die füsse werfen.

    Shade Of Mine schrieb:

    - aber es geht hier um simple Typenumwandlung und da sind die Fehlermeldungen mehr als deutlich.

    naja, wie es aber so ist, muss man aus den ~30 zeilen, die so'n C++ compiler manchmal bei einfachen tippfehlern ausspuckt, erstmal erkennen, dass 'ne typumwandlung scheiterte. aber klar, das ist übungssache und ein erfahrener C++ coder kommt damit möglicherweise gut zurecht.
    ausserdem möchte ich dich mal ganz nebenbei an den cout/volatile bug erinneren, wobei die typumwandlung zwar scheitert (falsches ergebnis), ein C++ compiler aber nicht den leisesten pieps von sich gibt.

    Shade Of Mine schrieb:

    Es gibt nebenbei bemerkt enorm viele Plattformen wo man deutlich schlechtere Fehlermeldungen als in C++ bekommt.

    welche?

    btw: du musst nicht antworten (ausser vielleicht auf die letzte frage), ich will kein thread-hijacking betreiben.
    🙂



  • Undertaker schrieb:

    ich will kein thread-hijacking betreiben. 🙂

    Danke! ⚠



  • Mr. N schrieb:

    Undertaker schrieb:

    ich will kein thread-hijacking betreiben. 🙂

    Danke! ⚠

    😕

    Es geht doch sowieso längst nicht mehr um das Ursprüngliche, es ging schließlich mal um Flags ⚠



  • Badestrand schrieb:

    Mr. N schrieb:

    Undertaker schrieb:

    ich will kein thread-hijacking betreiben. 🙂

    Danke! ⚠

    😕

    Es geht doch sowieso längst nicht mehr um das Ursprüngliche, es ging schließlich mal um Flags ⚠

    Ja, aber ohne künstliche Wendung zu einem "Undertaker vs C++"-Thread. Von denen gibts außerdem schon genug.



  • Badestrand schrieb:

    Es geht doch sowieso längst nicht mehr um das Ursprüngliche, es ging schließlich mal um Flags ⚠

    das war mal.
    inzwischen geht es darum, wie man am besten die physik in's korsett einer archaischen programmiersprache zwängt und welche auswirkungen 'typsicherheit' auf den fortbestand des universums hat 😉
    und dabei möchte ich mich nicht dazwischendrängen.
    🙂



  • Undertaker schrieb:

    inzwischen geht es darum, wie man am besten die physik in's korsett einer archaischen programmiersprache zwängt und welche auswirkungen 'typsicherheit' auf den fortbestand des universums hat 😉

    Falsch. Typsicherheit bedeutet, dass so etwas nicht lautlos durchrennt:

    speed = time / length;
    

    Das ist praktisch. In C++ müssen wir das nicht verbieten, aber wir können - und wollen.



  • Mr. N schrieb:

    Undertaker schrieb:

    inzwischen geht es darum, wie man am besten die physik in's korsett einer archaischen programmiersprache zwängt und welche auswirkungen 'typsicherheit' auf den fortbestand des universums hat 😉

    Falsch. Typsicherheit bedeutet, dass so etwas nicht lautlos durchrennt:

    speed = time / length;
    

    Das ist praktisch. In C++ müssen wir das nicht verbieten, aber wir können - und wollen.

    versteh ich das richtig? du willst typsicherheit an op-overloading (in dem fall an dem 'operator /') festmachen?
    naja, und was ist, wenn 'length' 0 ist (physikalisch durchaus erlaubt, compiliert wirds fehlerfrei, aber das proggy kackt zur laufzeit ab)?
    und: verbieten könnt ihr nix, vergesst nicht, dass es in C++ alle möglichen und unmöglichen type-casts gibt. selbst ein gutwilliger, allerdings auf bequemlichkeit bedachter coder, schiesst sich das beinchen weg, wie er's schon 1000 mal vorher gemacht hat.
    so oder so, ich finde, ihr verlangt zu viel typsicherheit von einer sprache, die eigentlich 'weak typed' ist. aber macht nur weiter, wie gesagt, ich möchte eure diskussion nicht stören.
    🙂



  • Undertaker schrieb:

    Mr. N schrieb:

    Undertaker schrieb:

    inzwischen geht es darum, wie man am besten die physik in's korsett einer archaischen programmiersprache zwängt und welche auswirkungen 'typsicherheit' auf den fortbestand des universums hat 😉

    Falsch. Typsicherheit bedeutet, dass so etwas nicht lautlos durchrennt:

    speed = time / length;
    

    Das ist praktisch. In C++ müssen wir das nicht verbieten, aber wir können - und wollen.

    versteh ich das richtig? du willst typsicherheit an op-overloading (in dem fall an dem 'operator /') festmachen?

    Nein. In der Physik benutzt man eben relativ oft Division. Entschuldige, dass ich ein anschauliches Beispiel wollte 🙄

    Undertaker schrieb:

    naja, und was ist, wenn 'length' 0 ist (physikalisch durchaus erlaubt, compiliert wirds fehlerfrei, aber das proggy kackt zur laufzeit ab)?

    Länge 0 ist physikalisch nicht erlaubt. Länge 0 m... naja da sollte dann +INF m oder so rauskommen 😉 - aber darum gehts hier ja nicht wirklich. (Willst du ablenken?)

    Undertaker schrieb:

    und: verbieten könnt ihr nix, vergesst nicht, dass es in C++ alle möglichen und unmöglichen type-casts gibt.

    Die sind aber explizit und daher weit weniger gefährlich.

    Undertaker schrieb:

    selbst ein gutwilliger, allerdings auf bequemlichkeit bedachter coder, schiesst sich das beinchen weg, wie er's schon 1000 mal vorher gemacht hat.

    Ich behaupte, bei einer sauberen Bibliothek wird er sich dazu nicht genötigt sehen.

    Undertaker schrieb:

    so oder so, ich finde, ihr verlangt zu viel typsicherheit von einer sprache, die eigentlich 'weak typed' ist.

    C++ ist nicht schwach typisiert. Es ist allerdings auch nicht richtig stark typisiert.

    Es geht darum, die Typisierung zu nutzen - und das will ich tun. Ich zwinge dich nicht dazu, sie zu nutzen.

    Du bist nicht qualifiziert zu behaupten, das sei alles unnötig. Du hast nämlich schlicht und ergreifend keine Ahnung. Sorry.



  • Mr. N schrieb:

    Undertaker schrieb:

    Mr. N schrieb:

    Undertaker schrieb:

    inzwischen geht es darum, wie man am besten die physik in's korsett einer archaischen programmiersprache zwängt und welche auswirkungen 'typsicherheit' auf den fortbestand des universums hat 😉

    Falsch. Typsicherheit bedeutet, dass so etwas nicht lautlos durchrennt:

    speed = time / length;
    

    Das ist praktisch. In C++ müssen wir das nicht verbieten, aber wir können - und wollen.

    versteh ich das richtig? du willst typsicherheit an op-overloading (in dem fall an dem 'operator /') festmachen?

    Nein. In der Physik benutzt man eben relativ oft Division. Entschuldige, dass ich ein anschauliches Beispiel wollte 🙄

    ist doch okay, brauchst dich nicht zu entschuldigen. wie fängt man unerlaubte division in C++ noch ab?

    Mr. N schrieb:

    Undertaker schrieb:

    naja, und was ist, wenn 'length' 0 ist (physikalisch durchaus erlaubt, compiliert wirds fehlerfrei, aber das proggy kackt zur laufzeit ab)?

    Länge 0 ist physikalisch nicht erlaubt. Länge 0 m... naja da sollte dann +INF m oder so rauskommen 😉 - aber darum gehts hier ja nicht wirklich. (Willst du ablenken?)

    wieso sollte die länge '0' in der physik nicht existieren? wovon willst du jetzt ablenken?

    Mr. N schrieb:

    Undertaker schrieb:

    und: verbieten könnt ihr nix, vergesst nicht, dass es in C++ alle möglichen und unmöglichen type-casts gibt.

    Die sind aber explizit und daher weit weniger gefährlich.

    da stimme ich dir zu, aber die gefahr ist nicht gebannt 😉

    Mr. N schrieb:

    Undertaker schrieb:

    selbst ein gutwilliger, allerdings auf bequemlichkeit bedachter coder, schiesst sich das beinchen weg, wie er's schon 1000 mal vorher gemacht hat.

    Ich behaupte, bei einer sauberen Bibliothek wird er sich dazu nicht genötigt sehen.

    wovon träumst du nachts? reale programmierer frickeln und tricksen dass sich die balken biegen. jede beschränkung, die deine lib ihnen entgegensetzt, entfacht ihren sportlichen ehrgeiz 😃

    Mr. N schrieb:

    Undertaker schrieb:

    so oder so, ich finde, ihr verlangt zu viel typsicherheit von einer sprache, die eigentlich 'weak typed' ist.

    C++ ist nicht schwach typisiert. Es ist allerdings auch nicht richtig stark typisiert.

    C++ hat das typsystem von C 'geerbt', mit ausnahme des verkrüppelten 'void*'. von 'strong typed' kann bei C++ nicht die rede sein.

    Mr. N schrieb:

    Du bist nicht qualifiziert zu behaupten, das sei alles unnötig. Du hast nämlich schlicht und ergreifend keine Ahnung.

    deswegen sagte ich ja bereits: macht nur weiter und entschuldigt bitte Mr.N's und meinen exkurs zum thema 'typsicherheit'
    🙂


Anmelden zum Antworten