warum benutzt ihr c++?



  • DEvent schrieb:

    Was fehlt den C++[...]?

    http://c2.com/cgi/wiki?AreDesignPatternsMissingLanguageFeatures



  • c2dotcom schrieb:

    DEvent schrieb:

    Was fehlt den C++[...]?

    http://c2.com/cgi/wiki?AreDesignPatternsMissingLanguageFeatures

    Ja das fehlt C++ vielleicht, aber das hat gar nichts, aber auch nichts, mit OOP zu tun. OOP ist ein Sammelbegriff fuer Techniken die, u.a., es erlaubt diese Patterns zu implementieren. MultiMethods, MetaClass, GenericFunktions, usw... sind doch voellig andere Techniken.

    Aber es ist ein interessanter Artikel, und ich gebe den Autoren Recht, dass Designs Patterns features einer Sprache nachimplementieren. Aber sie sind noetig, denn sonst haben wir eine zu aufgeblaete Sprache mit 1000 von Techniken.



  • DEvent schrieb:

    OOP ist ein Sammelbegriff fuer Techniken die, u.a., es erlaubt diese Patterns zu implementieren.

    Unfug! Mit Techniken hat das nichts zu tun.
    http://en.wikipedia.org/wiki/Object-oriented_programming



  • C-fan schrieb:

    CarstenJ schrieb:

    Allgemein find ich Objektorientierung natürlich auch nicht zu verachten.

    Objektorientierung in C++ ist sehr rudimentär.

    Kannst du auch was Sinnvolles beitragen, oder nur rumflamen? Achja, war ja dein Ziel....



  • Ich finde nicht das die OOP rudimentär ist, besonders weil sie dafür, dass sie funktionslos sein soll, doch recht ausgeprägt ist.



  • DEvent schrieb:

    c2dotcom schrieb:

    DEvent schrieb:

    Was fehlt den C++[...]?

    http://c2.com/cgi/wiki?AreDesignPatternsMissingLanguageFeatures

    Ja das fehlt C++ vielleicht, aber das hat gar nichts, aber auch nichts, mit OOP zu tun. OOP ist ein Sammelbegriff fuer Techniken die, u.a., es erlaubt diese Patterns zu implementieren. MultiMethods, MetaClass, GenericFunktions, usw... sind doch voellig andere Techniken.

    Aber es ist ein interessanter Artikel, und ich gebe den Autoren Recht, dass Designs Patterns features einer Sprache nachimplementieren. Aber sie sind noetig, denn sonst haben wir eine zu aufgeblaete Sprache mit 1000 von Techniken.

    Design Patterns implementieren keine Sprachfeatures nach. Es sind einfach Ideen wie man Probleme einfach lösen kann und den Code wartbar hält. Design Patterns sind allgemein und nicht sprachabhängig, auch wenn viele immer ein Beispiel in einer bestimmten Sprache suchen. Das einige Sprachen Features haben, die diese Probleme auch lösen, ist einfach normal.



  • Interessant ist doch, das viele Design Patterns in C++ mit direkten (...) Sprachmitteln umgesetzt werden können...

    ...was man von anderen Sprachen ja nicht behaupten kann 😃



  • ajcPanther schrieb:

    Interessant ist doch, das viele Design Patterns in C++ mit direkten (...) Sprachmitteln umgesetzt werden können...
    ...was man von anderen Sprachen ja nicht behaupten kann 😃

    Welche anderen Sprachen kennst du denn noch? Ich möchte behaupten, daß die meisten anderen Sprachen, welche OOP unterstützen, es besser machen als C++.



  • Pooh schrieb:

    ajcPanther schrieb:

    Interessant ist doch, das viele Design Patterns in C++ mit direkten (...) Sprachmitteln umgesetzt werden können...
    ...was man von anderen Sprachen ja nicht behaupten kann 😃

    Welche anderen Sprachen kennst du denn noch? Ich möchte behaupten, daß die meisten anderen Sprachen, welche OOP unterstützen, es besser machen als C++.

    Definiere "besser".



  • OOPabst schrieb:

    DEvent schrieb:

    OOP ist ein Sammelbegriff fuer Techniken die, u.a., es erlaubt diese Patterns zu implementieren.

    Unfug! Mit Techniken hat das nichts zu tun.
    http://en.wikipedia.org/wiki/Object-oriented_programming

    Aus Wiki:

    It is based on several techniques, including inheritance, modularity, polymorphism, and encapsulation.

    klar, mit Techniken hat das gar nichts zu tun... 🤡



  • Nö wieso auch 😃
    Ich bin der Meinung, dass alle die behaupten OOP in C++ wäre scheiße, kennt C++ GAR nicht bis fast GAR nicht.



  • Ich benutze C++, weil man in meinem derzeitigen Arbeitsbereich (VLSI-Designtools) noch auf jedes Bit Speicherverbrauch und auf jeden Taktzyklus schauen muss.



  • hä???? schrieb:

    Basingstoke schrieb:

    In diesem Zusammenhang wollte mal fragen warum es verdammt nochmal
    keine Sprache gibt die Definitionen UND Implementationen vererben
    kann.

    was soll das bedeuten?

    Ich will einfach nur Interfaces in C++ (und nicht abstrakte Basis-Klassen)



  • Wenn Du mir erklärst, wo hier der OO-bezogene Unterschied von:

    interface Dummy
    {
     public:
       virtual void foo() = 0;
    };
    

    zu

    class Dummy
    {
     public:
       virtual void foo() = 0;
    };
    

    ist?

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...



  • Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Du identifizierst dich aber stark mit C++. :p

    Man könnte sich "public" und dieses komische "= 0;" sparen. Ist von der bedeutung her einfach schöner.



  • Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Wozu class wenn es auch struct gibt?



  • Tim schrieb:

    Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Wozu class wenn es auch struct gibt?

    Ich habe es "class" getauft, damit Laien denken man könne mit C++ wirklich objektorientiert programmieren. 😃



  • erkenner schrieb:

    Man könnte sich "public" und dieses komische "= 0;" sparen. Ist von der bedeutung her einfach schöner.

    Du möchtest also ein neues Schlüsselwort "interface", welches sich wie "struct" verhält und zusätzlich alle virtuellen Funktionen abstrakt macht?



  • LordJaxom schrieb:

    erkenner schrieb:

    Man könnte sich "public" und dieses komische "= 0;" sparen. Ist von der bedeutung her einfach schöner.

    Du möchtest also ein neues Schlüsselwort "interface", welches sich wie "struct" verhält und zusätzlich alle virtuellen Funktionen abstrakt macht?

    hast du eine idee, wie mann das machen kann? also mir würde nur class einfallen :p



  • Tim schrieb:

    Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Wozu class wenn es auch struct gibt?

    Hätte das Bsp. auch anstatt class mit struct machen können. Richtig! Aber dadurch ändert sich meine Frage nicht. Dein Kommentar beweist nur noch mehr, wie schwachsinnig es ist, ein interface-Schlüsselwort zu verlangen, weil wir dann drei Schlüsselwörter hätten, die im Prinzip das gleiche machen. Vielleicht spare ich mir bei dem einen das "public:" und bei dem anderen das "virutal =0". Aber es macht die Sprache C++ deshalb ja nicht OOiger.


Anmelden zum Antworten