Versucht mal, mich zu überzeugen!



  • Bei C# weiss ich es nicht, aber bei Java versprech ich mir einiges von den Generics. Es ist ja unbestritten, dass C++ den größten Funktionsumfang bietet, aber so wahnsinnig oft brauch ich Templates jetzt nicht. Die Generics sind insofern in Java interressant, weil man sich damit dann das nervige typecasten sparen kann (wobei das typecasten dort im Gegensatz zu C++ wenigstens sicher ist ).

    Ist es in C++ auch (dynamic_cast).
    Das einzige, was Generics in Java und C# machen ist, casten zu ersparen und Fehler zur Compilezeit zu bringen, falls ein Objekt falschen Typs verwendet wird.



  • Optimizer schrieb:

    Es ist ja unbestritten, dass C++ den größten Funktionsumfang bietet, aber so wahnsinnig oft brauch ich Templates jetzt nicht.

    Nein? Ich wüsste nicht mehr wie ich leben sollte ohne Templates 😃 .



  • Optimizer schrieb:

    Es ist ja unbestritten, dass C++ den größten Funktionsumfang bietet

    Ist das so? Wo sind denn meine drei "Lieblingsfunktionen" in C++?

    reflection
    dynamic class loading
    annotations (...und zwar Reflection-fähige)



  • Du kannst sie dir selber schreiben. 😉
    Naja den größeren Umfang wie Java hat C++ auf jeden Fall, das kannst du nicht abstreiten (auch C# hat nen größeren Funktionsumfang wie Java). Das heisst ja nicht, dass C++ "besser" ist. Sonst hätte ich diesen Thread hier nicht aufgemacht.



  • Ist das so? Wo sind denn meine drei "Lieblingsfunktionen" in C++?

    Und wo sind in Java meine:
    Partielle Templatespezialisierung, Templatetemplates und automatisch aufgerufene Destruktoren?



  • Ich wollte nicht darauf hinaus, dass Java mehr Funktionen bietet als C++, sondern dass man nicht sagen kann, dass C++ einen deutlich höheren Funktionsumfang bietet als Java. Beide Sprachen bieten Funktionen, die die andere nicht bietet. Es ist IMHO falsch zu sagen, dass man mit C++ mehr Ausdrucksmöglichkeiten hat. Man hat einfach nur andere.



  • Hallo!

    Folgendes ist aus einer Seminaraufgabe von 2 Schülern von meiner Schule, bin persönlich nicht sehr begeister davon, aber seht selbst:
    http://www.fh-wedel.de/~hu/semwork/csharp/index.html

    Code-Hacker



  • Wie wäre es eientlich mit D? Irgendwie habe ich das Gefühl, das die Sprache recht gut den geforderten Ansprüchen gerecht wird.



  • Blöd ist nur, dass niemand D wirklich benutzt. Ich habe mich nicht wirklich damit auseinander gesetzt (nur mal kurz die Seite zu D überflogen), aber ich glaube, dass D ziemlich viel künstlichen Overhead erzeugt.



  • Ich habe auch nicht gerade viel erfahrung in D, verwende persönlich auch weiterhin noch C++, aber ich weiß, dass D mehr kann, als in der Dokumentation steht.

    z.B. ist folgendes legaler Code

    class Foo (T) {
    }
    

    und equivalent zu

    template<typename T>
    class Foo {
    }
    

    in C++. Aber darüber findest du nichts in der Dokumentation.



  • Ist C# nicht Microsoft trauriger Versuch Java zu kopieren ???
    also wer Microsoft mag der macht in C#, alle anderen in J#



  • Blumentopf schrieb:

    Ist C# nicht Microsoft trauriger Versuch Java zu kopieren ???

    hast du schon mal was in C# programmiert, um sollche Aussagen hier zu machen?



  • Blumentopf schrieb:

    Ist C# nicht Microsoft trauriger Versuch Java zu kopieren ???
    also wer Microsoft mag der macht in C#, alle anderen in J#

    hmpf.... ja, und ich finde C# ist besser als Java ... wenn man vergleich



  • @Optimizer: Warum bist du eigentlich von C++ auf C#/Java "umgestiegen" *Neugier* ?



  • Von C#/Java auf was?
    Ich bin auf gar nichts umgestiegen, ich erweitere nur meinen Horizont. 😉
    Ich programmiere zur Zeit in C++, C# und Java.
    Früher hab ich noch VB gecodet, kann ich aber nicht empfehlen. 🙄 Wobei das neue VB ja auch alle Aspekte der Objektorientierung unterstüzen soll...

    Zur Zeit arbeite ich noch am meisten mit C++, möchte aber mein nächstes größeres Projekt in C# schreiben.



  • Sorry, ich war beim Denken wohl etwas schneller als beim Schreiben... 😉

    Warum ich mein Gewicht von C++ mehr auf eine neuere Sprache verlagern werde, darüber bin ich mir selber schon im Klaren.

    DAS meinte ich...



  • Weil Java/C# einem das Leben einfacher machen und IMO produktiver sind.



  • Optimizer schrieb:

    Weil Java/C# einem das Leben einfacher machen und IMO produktiver sind.

    Hi,

    ich habe mich auch schon eingehend mit C# beschäftigt (noch nicht mit Java) und der hauptvorteil ist (Meiner Meinung nach) die riesige, einfach zu benutzende Klassenbibliotek.



  • Ja, das meine ich mit Produktivität. Man hat ne Menge fertige und wirklich gute Lösungen für die meisten Probleme, das ist in Java übrigens genauso.
    Was die Produktivität außerdem erhöht, ist, dass man sich nerviges Debuggen von Speicherleaks und Typ-/ Indexfehlern ersparen kann.
    Dafür zahlt man natürlich auch den Preis der etwas schlechteren Performance, aber ich muss wirklich dazu sagen, dass ich bis jetzt noch nirgendwo aufgrund der Sprache Performanceprobleme hatte. Die Performance einer Anwendung hängt in allererster Linie von Algorithmen und Datenstrukturen ab. 🙂



  • Allein durch ein Fertiges foreach könnte man IMHO auch ohne jegliche Art von Laufzeittests die meisten Indexfehler vermeiden.


Anmelden zum Antworten