Irgendwie ist mir der Sinn von Java nach wie vor schleierhaft.



  • C++ kann viel mehr als Java (Metaprogrammierung mit templates z. B).
    Die Standardbibliothek ist bei Java umfangreicher, aber für C++
    gibt's ähnlich viele Bibliotheken, die plattformunabhängig laufen
    (und zwar *richtig* plattformunabhängig, also nicht nur unter Win,
    Solaris, OS X und Linux/x86). Außerdem starten native Anwendungen
    schneller, da keine Virtual Machine geladen werden muss, und
    Müllabfuhren gibt's auch für C++. OK, C++ hat ein paar alte, von C
    mitgeschleppte Macken, aber die hat Java auch (z. B. das archaische
    switch-Statement), und irgendwie stören die auch nicht wirklich, wenn
    man sich einmal dran gewöhnt hat. Und egal, was die Java-Fans
    behaupten: Swing ist nach wie vor lahm, IMO.
    Bitte helft mir, ich will endlich mal verstehen, was an Java toll
    sein soll, aber irgendwie fällt mir nichts ein, was nicht auch in C++
    ginge. Und daß Java keine Operatorüberladung unterstützt ist
    irgendwie traurig, da ich dieses Feature in C++ besonders
    liebgewonnen habe.



  • J2EE, J2ME, Applets...


  • Mod

    Hi.

    Ich nutze unter Java relativ massiv Sprachfeatures wie Reflection und Annotations. ...und demnächst wohl auch die Compiler-API. C++ hat in der Art leider nichts anzubieten. Es gibt in C++ AFAIK keine vernünftige Möglichkeit, das Verhalten eines Programms von seiner Struktur abhängig zu machen.





  • Gastbenutzer schrieb:

    (z. B. das archaische
    switch-Statement)

    was ist daran schlecht? gibt es was besseres als ersatz für 'switch'?


  • Mod

    net schrieb:

    Gastbenutzer schrieb:

    (z. B. das archaische
    switch-Statement)

    was ist daran schlecht? gibt es was besseres als ersatz für 'switch'?

    Ich weiß jetzt natürlich nicht, was der Thread-Ersteller damit meint, aber mein Code ist auch relativ frei von switch-Statements. Der Grund ist einfach: Ich habe irgendwann festgestellt, dass diese switch-statements genau das gleiche Problem wie if-Orgien haben: Wenn das Programm an Funktionalität gewinnt, wachsen diese Strukturen immer mehr und die entsprechende Codestelle wird immer weniger wartbar. Statt den switch-Statements nehme ich inzwischen meistens irgendwelche Tabellen bzw. Hash-Maps.


Anmelden zum Antworten