Was würdet Ihr an C++ ändern, wenn Ihr keine Rücksicht auf Kompatibilität, Geld, Zeit, Arbeit, etc. nehmen müssten?



  • guest1234 schrieb:

    Was soll des eigentlich gleich so ausfällig zu werden. Aber gut, du willst es ja scheinbar nicht anders.
    Jetzt nimmst du mal die Hände vom Sack und wischst dir die Tränen aus dem Gesicht du besserwisserische Klugscheißer.

    Was soll die Kleingeisterei. Es ging mir darum zu sagen, dass Strings - auch wenn nicht explizit typdefiniert - in die Sprache integriert worden sind. D interpretiert arrays of char halt implizit als Strings und man benutzt sie dort auch so. Ob du nun char[] oder string schreibst ist wohl in D eher ne syntaktische Sache.

    Ich zitiere hier die Dokumentation und die sagt ausdrücklich das Strings in die Sprache integriert wurden:

    "Why have strings built-in to the core language of D rather than entirely in a library as in C++ Strings."

    Oder aus einer Feature Vergleichstabelle:

    Feature D C C++ C# Java
    ...
    Built-in strings Yes No No Yes Yes
    ...

    Geh mir also nicht auf den Sack mit deiner Erbsenzählerei.

    Dann hat C auch built-in Strings. Auch in C sind Strings char-Felder, genau, wie in D.

    Wie bereits angdeutet sind Arrays in D nur mächtiger, als in C. Array sind dynamisch, können mit dem ~ Operator konkateniert werden, etc. Aber alles, was du in D mit einem String machen kannst, kannst du auch mit jedem Array eines anderen Typs. Strings sind einfach nur char Arrays. In C kannst du auch mit strings alles machen, was du mit anderen Strings machen kannst.

    Dennoch gibt es keine Stringklasse.

    Es ging mir darum zu sagen, dass Strings - auch wenn nicht explizit typdefiniert - in die Sprache integriert worden sind.

    Genau wie in C.

    D interpretiert arrays of char halt implizit als Strings und man benutzt sie dort auch so.

    Genau wie in C.

    Ob du nun char[] oder string schreibst ist wohl in D eher ne syntaktische Sache.

    Genau wie in C.



  • @Green_ghost:
    Meinst du das eigentlich alles ernst? Ich hasse Windows vs. Linux Flames, vor allem wenn sie so dermaßen extrem OT sind, aber was du schreibst ist alles samt Käse. 16 von deinen 20 Punkte zeigen eigentlich nur, dass du überhaupt nicht weisst, wovon du redest. Beschäftige dich doch noch ein paar Jahre damit, und poste das nochmal. Ist ja fürchterlich.



  • Gehts hier noch um C++? 😡 Gibts hier keine Mods??????????? 😡



  • Nein, eben nicht wie in C. Die Strings sind in D objektorientiert und haben Methoden. Sie sind eben nicht nur arrays of char. Auch wenn sie so aussehen und man sie so benutzen kann. Intern werden sie nämlich als Reference-Typs mit einem Stringpool verwaltet. Ein char[] funktioniert ganz anders als ein int[], float[] usw ...



  • Wenn man 16 von 20 erkennt, heisst das, man hat nur Win
    erfahrungen und begrenzt Linux.

    Ich bin mit DOS6.22 aufgewachsen.
    Dann 3.11 95, 98, (me ist scheisse, daher uebergangen), 2000/Server, XP, 2003.
    Ab 98 hab ich: Redhat, Suese, Debien.
    Danach OpenBSD.
    Ich weiss von was ich rede, 7 Jahre erfahrungen sind nicht nichts.
    Ich hasse nicht Windows, liebe es aber auch nicht.
    Ich bin nicht der OS hasser, aber wenn ich die wahl haette,
    wuerde ich nicht fuer Windows etnscheiden.

    Hab mich vieleicht etwas falsch ausgedrueckt.

    Aber ich verstehe, das mich keiner von den Windows User verstehn kann.
    Und ab und zu Etwas Linux, ist auch Windows 😉

    Ghost



  • Green_Ghost schrieb:

    Ich bin mit DOS6.22 aufgewachsen.
    Dann 3.11 95, 98, (me ist scheisse, daher uebergangen), 2000/Server, XP, 2003.

    Green_Ghost schrieb:

    Ich hasse nicht Windows

    Hatte ich doch recht. 🤡

    Green_Ghost schrieb:

    Hab mich vieleicht etwas falsch ausgedrueckt.

    Könnte gut sein.

    Green_Ghost schrieb:

    Aber ich verstehe, das mich keiner von den Windows User verstehn kann.

    Warum also dieses hoffnungslose Unterfangen weiter betreiben? Hör doch einfach auf, uns unterbemittelten Normalwindowsusern die überragenden Vorteile von UNIX näherbringen zu wollen.



  • Green_Ghost schrieb:

    nur schwachsinn

    lass es einfach



  • Lassen wir das, wuerde ich auch sagen.
    Und wenn jemand mit "Oreilly Security" einer Meinung ist,
    koennen wir nochmals anfangen 😉

    Fangen wir neu an.

    Ghost



  • Ich denke ihr solltet euch mehr nach dem Topic-Titel orientieren,
    aber vorher noch eine Meinung zu Linux...

    Ich benutze meistens Windows, aber nur, weil dort DirectX (zum Programmieren und Zocken) läuft!
    Ansonsten würde ich mich gerne weiter in Linux (oder ein anderes [echtes] Unix) einarbeiten.
    Meiner Ansicht nach ist Windows nur so populär, weil es viel Menschen gibt, die den Computer ausschließlich fürs Surfen, Office und Spielen verwenden.
    Ob ihr (als echte freaks...) es glaubt oder nicht, ich kenne sogar viel zu viele Leute, die aus (!)Gewohnheit nicht auf WIndows XP (von 98) umsteigen,

    wie soll man denen jemals klarmachen, dass sie auch Linux oder gar ein "Unix mir rudimentärer Oberfläche" benutzen können?



  • Green_Ghost schrieb:

    Aber ich verstehe, das mich keiner von den Windows User verstehn kann.
    Und ab und zu Etwas Linux, ist auch Windows 😉

    Und wo ist der große Unterschied zwischen Windows und Linux?
    Der einzige unterschied den ich feststellen kann ist:

    1. Linux hat eine schönere Installation
    2. Hardware funktioniert unter Windows immer, unter Linux muss ich mich wahrscheinlich erst damit spielen
    3. Software Installationen/Updaten sind unter Linux wesentlich besser
    4. kommerzielle Software ist unter Windows kein Problem, unter Linux schon

    und das war es.
    Alle anderen Unterschiede liegen unter der Haube und meine Freundin erkennt Linux nur daran, dass Links unten ein "K" statt einem "Start" ist. Und wenn ich ihr ein BSD mit KDE vorsetzen würde, würde sie es für Linux halten, wegen dem "K".

    Werde bitte Erwachsen. Linux und Windows sind nur unter der Haube unterschiedlich und für den Endanwender bleibt es sich fast gleich. Die meisten Leute würden den Unterschied nicht merken. Ehrlich nicht. Wo ich arbeite wird gerade von MS Office auf OpenOffice umgestellt. Writer <-> Word wird erkannt, weil die Symbolleisten anders aussehen. Aber dass Excel durch Calc ersetzt wurde, haben die meisten nicht mitbekommen (obwohl sie täglich damit arbeiten (!)).

    Du siehst also: ob Windows oder Linux ist absolut egal.

    Also hör bitte mit diesen dummen flames auf. Wenn du Windows nicht magst: ok, behalte es für dich und sage dass nur, wenn man dich fragt und drücke es nicht jeden aufs Auge. Wie würde es denn dir gefallen wenn ich dauernd auf Linux losgehen würde? Flamewars sind sinnlos. Und keins der beiden OS ist dem anderen wirklich überlegen - weil beide Vorteile und Nachteile haben.

    In dem Sinne: every OS sucks



  • Wenn ich KDE will nehme ich Linux.
    Ich rede hier von der NO-X umgebung (SHELL)
    X-Server ist ne spielerei, und je nach dem nur gebrauch bar.
    Zum weiteren rede ich von Windows<=>UNIX nicht Windows<=>Linux

    //EDIT//
    Ist eine Ergenzung.
    Hardware probs unter Linux? Mmmm, kenne den Linux Kernel nicht
    gerade gut. Bei mir ging immer als. Wobei ich halt dem OBSD kernel gebrauche.



  • Wo sind die Mods?????? 😡 😡 😡



  • Es gibt da jetzt für HL2 so ne neue... 🤡



  • Green_Ghost schrieb:

    Wenn ich KDE will nehme ich Linux.
    Ich rede hier von der NO-X umgebung (SHELL)
    X-Server ist ne spielerei, und je nach dem nur gebrauch bar.
    Zum weiteren rede ich von Windows<=>UNIX nicht Windows<=>Linux

    Du hast nichts verstanden 😞



  • Doch doch.
    Ich wollte noch meinen Post abschliesen.

    Klar ist, fuer Anfaenger oder den Normalverbraucher ist Windows genial.
    Aber will man mal etwas mehr, reicht es nicht aus.

    //Edit//
    Zumindest wenn man was stable will und sicheres.
    Die X passt halt da nicht rein.



  • Green_Ghost schrieb:

    Aber will man mal etwas mehr, reicht es nicht aus.
    //Edit//
    Zumindest wenn man was stable will und sicheres.
    Die X passt halt da nicht rein.

    Ich bin sicher kein Normalverbraucher und ich finde Windows gut und mir reicht es und stabil ist es auch.

    Wenn du mit X nen X-Server meinst, dann verstehe ich nur Bahnhof, wenn du etwas anderes meinst, bitte ich um Klarstellung.



  • Halt je nach verwendung.

    X ist X-Server.
    Beim Compilieren des X-Server werden zum teil so viel schrott
    noch auf das system geworfen, das man die sicherheits risiken
    nicht mehr greiffen kann.

    Unter dem Motto "Wer auf dem Netz Arbeitet muss Hacken koennen"
    hab ich sachen gesehen, die mir die Haare zuberg stehen liesen.
    Darum, nur wer solches sieht kann verstehen, wieso ICH
    unter UNIX Arbeite.

    Darum, jeder das welches er braucht.
    Ich wollte eigentlich keine solche schlammschlacht fabrizieren.
    Sorry an die ich gestoert habe,
    und ich hoffe das ich hier noch etwas geduldet bin.

    Ghost



  • - ich habe leichte Probleme mit deinen Sätzen. Vielleicht kannst Du sie vor dem abschicken ja nochmal durchlesen. Danke -

    Green_Ghost schrieb:

    X ist X-Server.
    Beim Compilieren des X-Server werden zum teil so viel schrott noch auf das system geworfen, das man die sicherheits risiken nicht mehr greiffen kann.

    Kannst Du das mal näher ausführen, was die unfaßbaren Risiken von X11 so sind?



  • um mal back2topic zu kommen:

    2 sachen die ich mir sehr wünsche:

    schauen ob ein beliebiger typ T public von typ Foo geeerbt hat

    zb so:

    template<class T>
    void bar(const T& a:public Foo){
        //benutze spezielle funktionen die genau auf diese art von typen zugeschnitten sind
    
    template<class T>
    class Bar{
        //normales zeugs
    };
    template<class T>
    class Bar<T:public Foo>{
       //spezielles zeugs für Klassen die von Foo abgeleitet sind
    };
    }
    

    vorteil: ich kann funktionen/klassen besser auf bestimmte typen optimieren

    2. punkt
    überladen von funktionen/methoden auch auf wertbasis

    wieso das?

    nun, manchmal kommt es vor, dass das verhalten einer funktion/methode von dem übergebenen objekt/der klasse abhängig ist, je nachdem welchen status dieses objekt hat, verhält sich die funktion/klasse dann anders.

    Vielleicht kann man hier ja das Reinforcement-learning als Beispielanführen, wies hier vorgestellt wird.

    soweit ich das verstanden hab, versucht dabei ein Agent aus dem objekt status+einem input eine aktion zu generieren. Diese aktion wird dann ausgeführt und verändert den status des objekts. beim nächsten aufruf des agents muss er sich dann der neuen begebenheit anpassen.

    und da könnte man ja ansetzen, indem man für bestimmte werte dem agent ein anderes verhalten oder ein optimiertes verhalten gibt.

    normal würde man das vielleicht so machen:

    //agent funktion
    action agent(const int status, const input& input){
        switch(status){
            case 0:
               //sonderfall status 0
            break;
            case 1:
               //sonderfall status 1
            break;
            default:
               //normales verhalten
        }
    }
    

    wärs nicht übersichtlicher, dass einfach so zu machen?

    action agent(const int status, const input& input){
        //normales verhalten
    }
    action agent(const int status where status=0, const input& input){
        //sonderfall status 0
    }
    action agent(const int status where status=1, const input& input){
        //sonderfall status 1
    }
    

    klar, syntaktisch ist das nochnicht ganz ausgereift, aber der vorteil an der sache ist, dass der code einfach erweitert werden kann, wenn sich bei der status verarbeitung was ändert, man fügt einfach hinzu. 👍

    vielleicht könnte man auch sowas machen?

    class Foo{
        private:
            int status;
        public:
            void doSth()const {
                //mach irgendwas
            }
            void doSth() const where status=1{
                //tu was anderes
            }
            void changeStatus(int);
    };
    

    wie gesagt, sind nur küne vorschläge die einfach an bestimmten stellen nützlich sein können(1. punkt wohl eher als letzterer).



  • Daniel E. schrieb:

    - ich habe leichte Probleme mit deinen Sätzen. Vielleicht kannst Du sie vor dem abschicken ja nochmal durchlesen. Danke -

    Green_Ghost schrieb:

    X ist X-Server.
    Beim Compilieren des X-Server werden zum teil so viel schrott noch auf das system geworfen, das man die sicherheits risiken nicht mehr greiffen kann.

    Kannst Du das mal näher ausführen, was die unfaßbaren Risiken von X11 so sind?

    Etwas Muede, Sorry.

    So mein letzter Post zu diesem Thema.

    Erstens ist die Frage, ob es auf einem Mailserver eine X geben muss.
    Dann ist der X Port auch nicht ungefaehrlich.
    Je nach X-Umgebenung, werden Programme installiert, deren
    sicherheit du nicht immer abschaetzen kannst.
    Ich hoffe dies Beantwortet deine frage.

    Gehe schlafen. Wie gschrieben, mein letzter Post zu diesem Thema.
    Ich will mich hier ja noch blicken koennen.

    Ghost


Anmelden zum Antworten