C++ vs. Java [Update]



  • 😉
    Na ja so sieht das dann aus ... Preview davon gibt es bereits.
    [java]import java.util.LinkedList;
    import java.util.Collections;

    class Test {

    public static void main(String[] args) {

    // Integer list
    LinkedList<Integer> xs = new LinkedList<Integer>();
    xs.add(new Integer(0)); xs.add(new Integer(1));
    Integer x = xs.iterator().next();
    Integer mb = Collections.max(xs);

    // string list
    LinkedList<String> ys = new LinkedList<String>();
    ys.add("zero"); ys.add("one");
    String y = ys.iterator().next();

    // string list list
    LinkedList<LinkedList<String>> zss = new LinkedList<LinkedList<String>>();
    zss.add(ys);
    String z = zss.iterator().next().iterator().next();
    }
    }[/code]

    [ Dieser Beitrag wurde am 28.11.2002 um 16:36 Uhr von CengizS editiert. ]



  • @ CengizS : Weißt du zufällig,...

    • ob es auch Generics mit primitiven Datentypen geben wird? ...also etwa
      [java]
      LinkedList<int> xs[/code]
      Oder kann man die nur gebrauchen, um sich das Casten zu sparen?
    • wann mit Java 1.5 zu rechnen ist?


  • CengizS wo hast du den beispiel kode her?



  • Hallo,

    die Spezifikation der Generics sieht die Nutzung der primitiven Datentypen nicht vor - dies kann sich allerdings ändern - nichts ist fix.

    Wann mit JDK1.5 zu rechnen ist kann ich leider auch noch nicht sagen. Das mit den Generics lässt sich allerdings bereits testen mit dem aktuellen JDK.

    URL: http://jcp.org/en/jsr/detail?id=14



  • hm was sagt volkard und Marc++us dazu?



  • erlauben die generics auch generische Funktionen?

    Gibt es einen Grund warum primitive Datentypen verboten sind?

    Wo ist der sinn eines generischen Containers in Java? Nur um sich das casten zu ersparen?



  • Original erstellt von Shade Of Mine:
    Gibt es einen Grund warum primitive Datentypen verboten sind?

    Dass sie verboten sein sollen hast Du dir doch aus den Fingern gesaugt, oder? Da steht nur drin, dass es in der Design-Phase nicht berücksichtigt ist und nichts von einem Verbot. Vielleicht kommt das ja auch 🙂



  • Original erstellt von CengizS:
    Dass sie verboten sein sollen hast Du dir doch aus den Fingern gesaugt, oder? Da steht nur drin, dass es in der Design-Phase nicht berücksichtigt ist und nichts von einem Verbot. Vielleicht kommt das ja auch 🙂

    du hast vorher geschrieben die nutzung von primitiven datentypen ist nicht vor gesehen...

    und warum ist das so?



  • Aus dem Text ...
    ----------------------------------/snip/---------------------------------------
    It is explicitly not required that the system

    a) Provide downward binary compatibility: It is not necessary that class
    files compiled under the generic compiler should run on previous releases, whether they use generics or not.

    b) Support the use of primitive types as type arguments: While allowing the use of primitive types (e.g., int, boolean) as type arguments would be nice, it should not be a goal of the design. The separation of primitive and reference types is a fundamental property of the Java programming language.
    ----------------------------------/snap/---------------------------------------

    Es ist also eine "Zuständigkeitsfrage". Erst wenn man sich über die Trennung von primitiven und Referenztypen in irgendeiner Form einigt würde es sinnvoll sein die Generics danach auszurichten.

    [ Dieser Beitrag wurde am 29.11.2002 um 10:55 Uhr von CengizS editiert. ]



  • Was ist dann besser C++ oder Java?

    Was ist besser ein Porsche oder ein dicker LKW?

    Wenn man angeben will, sicherlich der Porsche, wenn man aber große gegenstände Transportieren will der LKW.



  • Was ist besser ein Porsche oder ein dicker LKW?

    Und welche Sprache entspricht jetzt dem Porsche in deiner Analogie? Und welche dem LKW?



  • Porsche == C++
    dicker LKW == Java

    🙂



  • Jo, das hängt doch einzig und allein von der Problemstellun ab. Ich mein, niemand wird auf die Idee kommen, mit Java Fifa 2004 zu programmieren oder mit Javas BigInt ein PI-Programm.



  • Und wofür ist Java dann gut geeignet??



  • Wie schon gesagt wurde, für große Programme. Hinzu kommt, daß Java absolut plattformunabhängig ist, wenn für versch. Plattformen die VM implementiert ist. So sieht z.B. ein Klickibunti Swingprogramm unter Windows haargenau 1:1 exakt so aus wie unter Linux, weil die Komponenten von Java auch noch selber gezeichnet werden. Außerdem gefällt mir persönlich bei Java, daß man wirklcih alles unter einem Hut hat. Fensterbibliothek, Threads, Netzwerkprogrammierung, alles einfach. Man muss keine externen Libs nehmen.



  • ((DefaultListModel)m_list.getModel()).addElement(((Unit)iter.next()).getName());

    Aber wenn dann sowas dabei rauskommt würde ich echt von Java abraten :p



  • Original erstellt von Doktor Prokt:
    Wie schon gesagt wurde, für große Programme. Hinzu kommt, daß Java absolut plattformunabhängig ist

    zum hundertstenmal: java IST eine plattform.



  • Original erstellt von volkard:
    zum hundertstenmal: java IST eine plattform.

    nö eine virtuelle maschine



  • Und was ist eine virtuelle Maschine? Eine Plattform! 😡



  • Original erstellt von volkard:
    [quote]Original erstellt von Doktor Prokt:
    [qb]Wie schon gesagt wurde, für große Programme. Hinzu kommt, daß Java absolut plattformunabhängig ist

    zum hundertstenmal: java IST eine plattform.[/QB][/QUOTE]

    "ich hab so einen muskelkater" - "das heißt nicht muskelkater, sondern alphahydroxipropionsäuresepsis"

    "ich nehme jetzt mein lindan und bekämpfe insekten" - "das heißt nicht lindan, sondern 1,2,3,4,5,6 hexacyclohexan"

    Hier ist der Begriff doch uninteressant, bedeutend sind doch die Vorteile.


Anmelden zum Antworten