Umsteigen nach C++ oder lieber c#?



  • Optimizer schrieb:

    @Real: In C# werden primitive Typen bei der Benutzung von Generics nicht verpackt

    Oh, sind die Generics bei C# inzwischen schon da? Habe ich da etwas verpaßt?



  • Gregor schrieb:

    Optimizer schrieb:

    @Real: In C# werden primitive Typen bei der Benutzung von Generics nicht verpackt

    Oh, sind die Generics bei C# inzwischen schon da? Habe ich da etwas verpaßt?

    In einem Jahr. Sind sie bei Java schon aus dem Beta-Status raus? Hab ich was verpasst? 🤡



  • Hi,

    Optimizer schrieb:

    @Real: In C# werden primitive Typen bei der Benutzung von Generics nicht verpackt, sondern es wird für alle primitiven Typen ein eigener Native Code zur Laufzeit erstellt. Dadurch fällt das ständige einpacken und auspacken weg, was wirklich hardcore ineffizient ist.

    ist das ein- und auspacken ineffizient oder dadurch dass es wegfällt?
    Ich denke du meinst eher das Erstere. Aber dadurch dass C# Native-Code erzeugt, wird es doch nicht mehr plattformunanhängig sein, oder (Was C# ja imho nicht ist)?

    Liebe Grüße
    Real



  • Optimizer schrieb:

    Sind sie bei Java schon aus dem Beta-Status raus? Hab ich was verpasst? 🤡

    Momentan ist die Beta-2 Version aktuell. Endgültig kommt Java 1.5 wohl im September heraus (BTW: Java 1.6 soll schon ziemlich bald danach folgen, ich rechne mit einer Java 1.6 Beta noch in diesem Jahr, spätestens aber relativ früh im nächsten Jahr). Die aktuelle Beta-2-Version von Java 1.5 ist aber sehr gut nutzbar. Ich hatte damit noch keinerlei Stabilitätsprobleme und ich hatte bei dieser Version auch noch keine Probleme mit Bugs, dabei habe ich bei mir schon einige tausend Codezeilen, die massiven Gebrauch von den neuen Sprachmitteln machen (Naja, bis auf static Imports. Die scheinen aus meiner Sicht vollkommen uninteressant zu sein!).



  • Real schrieb:

    Hi,
    ist das ein- und auspacken ineffizient oder dadurch dass es wegfällt?
    Ich denke du meinst eher das Erstere. Aber dadurch dass C# Native-Code erzeugt, wird es doch nicht mehr plattformunanhängig sein, oder (Was C# ja imho nicht ist)?

    Natürlich das erstere.
    Der C# Compiler erzeugt keinen Native Code. Ich habe ja extra geschrieben, dass zur Laufzeit ein eigener Native Code Pfad für jeden benutzten primtiven Typen erzeugt wird (so, jetzt noch ausführlicher 😉 ). Das JIT-Prinzip ist in Java und C# gleich. "Plattformunabhängig" ist bei C# natürlich relativ, aber nicht wegen der Generics.

    @Gregor: Java 1.6? Was wird das bieten? Hoffentlich eine direkte Unterstützung der Generics von der VM. 🙄
    Das mit einem Jahr ist übrigens sehr pessimistisch geschätzt, ich denke mal, dass VS Whidbey Anfang 2005 rauskommt.



  • static imports rocken doch! Mich nervt das Math.sqrt() schreiben schon ziemlich. Das könnte auch C++ und C# IMHO gut vertragen.



  • Optimizer schrieb:

    @Gregor: Java 1.6? Was wird das bieten? Hoffentlich eine direkte Unterstützung der Generics von der VM. 🙄

    Das halte ich für mehr als unwahrscheinlich. Ich denke, dass es mit Java 1.6 in erster Linie Änderungen in der Standardbibliothek geben wird. Das ist jetzt aber pure Spekulation, eigentlich weiß ich da garnichts drüber.



  • Naja, ungewiss, was die Zukunft bringt...
    Meine Mami hat mich jetzt ins Bett geschickt, cya. 🤡



  • @Real: Du willst ein schlanke Sprache? Dann wirst du BETA lieben. Es gibt enter, do, exit, inner, leave, restart, if then else, for repeat, suspend und die Bezeichner für die Typen. Mehr fällt mir gerade nicht ein. Und mit suspend wirst du als Anfänger nicht viel zu tun haben, da Coroutinen und Concurrency nunmal nichts für Anfänger ist. Du musst nurnoch wissen, wie man Pattern definiert. Perfekt oder?
    Trotzdem kannst du dir Konstanten, Funktionen, Klassen, ... bauen:

    pi : @(#
       exit 3.14159;
    #)
    
    add : (# x, y : @integer;
       enter (x, y)
       exit (x, y)
    #)
    
    Point : (# x, y : @integer;
       moveBy : (# byX, byY : @Integer;
          enter (byX, byY)
          do x + byX -> x;
             y + byY -> y;
          exit this(Point)
       #)
       enter (x, y)
       exit (x, y)
    #)
    

    Du kannst dir auch 1eigene Konstrollstrukturen, wie neue schleifen, ... schreiben.



  • Hey Leute,

    also ich kann nur zu COBOL raten! Ist echt ne supi Sprache. Wer ein bisschen Englisch kann, kann auch COBOL!


Anmelden zum Antworten