C,C++,C#,Java,



  • und nie vergessen, daß java eigentlich oak ist. erst damit erklären sich die ganzen design-entscheidungen und sind mit diesem hintergrund auch gar nicht mehr komisch oder exotisch, sondern hochgradig sinnvoll, zielstrebig und schlicht geil.

    http://www.engin.umd.umich.edu/CIS/course.des/cis400/java/java.html



  • Hast du das mit "C/C++ Sprachfamilie" auf Seite 6 schon gelesen? Sowas magst du doch. 😉 ⚠
    😃 👍



  • Optimizer schrieb:

    Hast du das mit "C/C++ Sprachfamilie" auf Seite 6 schon gelesen? Sowas magst du doch. 😉 ⚠
    😃 👍

    also in dieser dosis liebe ich es. aber wer weiß. vielleicht sind ja fortran und algol bald so vergessen, daß wir in einer basic- oder cobol-familie offizell in lehrbüchern stehen?



  • "...we designed java as closely to c++ as possible..."
    Heißt? Sie haben versucht Java C++-ähnlich zu machen für einen leichteren Umstieg. Da steht aber nicht, wie ähnlich sie es dann tatsächlich geschaft haben. Das kann ja immernoch bedeuten, wir haben es zwar versucht, aber überhaupt nicht hinbekommen, weil die Unterschiede zu groß waren.

    "...the oo facilities of java are essentially those of c++..."
    Die oo Anlagen von PHP sind im Grunde auch die von C++. Die von Eiffel ebenfalls. 😕

    "...the major difference of java and c++ lies in ...."
    Dieses Zitat sagt jetzt absolut gar nichts.
    Vielleicht heißt der Satz ja vollständig "Der größte Unterschied zwischen Java und C++ liegt in der grundlegenden Philosphie.

    Allerdigns glaube ich auch, das bei der Entwicklung von Java am stärksten auf C++ geachtet wurde. Aber das beudetuet ja nicht, das das Ergebnis ähnlich sein muss. Man kann ja viele Dinge auch schlecht finden und anders machen. Stell dir mal vor, die Java-Entwickler hätte an C++ die Synthax gestört. und Jetzt würden wir schreiben:

    public class Car:
       protected var color : String
    
       public def getColor () : String
          return color
    
       Constructor (color : String)
          this.color = color
    

    Es wäre doch immernoch Java, nur eben mit 'ner etwas anderen Synthax.



  • Helium schrieb:

    Synthax



  • gibts eigentlich keinen c++ compiler der code für 'ne java-vm ausspuckt? also 'nen ada-compiler gibts jedenfalls



  • Einen standardkonformen C++ Compiler kann es nicht geben, weil du in Java-Bytecode schlichtweg nicht alles machen darfst.



  • Optimizer schrieb:

    Einen standardkonformen C++ Compiler kann es nicht geben, weil du in Java-Bytecode schlichtweg nicht alles machen darfst.

    warum nicht? irgendwelche pointer-sachen usw. könnte man doch simulieren
    macht doch mickeyweich auch mit seinem managed c++



  • Nein, machen die nicht. Das .Net Framework erlaubt solchen Code, die JVM aber nicht. Und sowas kann man schlecht simulieren, willst du die "simulierte" Adresse eines Objekts zurückgeben?



  • Optimizer schrieb:

    willst du die "simulierte" Adresse eines Objekts zurückgeben?

    kommt drauf an. machbar wär das sicherlich. vielleicht könnte man auch echte äääh vm-relative adressen nehmen. wenn der programmierer dann einen fehler macht stürzt es eben ab wie ein ganz normales fehlerhaftes java-programm. das könnte man bestimmt hinkriegen. vielleicht baut mal einer mit dem lcc einen c-compiler für java 😋



  • net schrieb:

    vielleicht baut mal einer mit dem lcc einen c-compiler für java 😋

    und wie soll man damit sinnvoll die Java Plattform nutzen?



  • Shade Of Mine schrieb:

    und wie soll man damit sinnvoll die Java Plattform nutzen?

    ob das sinnvoll ist, ist eine ganz andere frage, hehe, aber als spassprojekt wär's doch was: endlich keine bösartigen buffer overflows in c unc c++ programmen mehr



  • Optimizer schrieb:

    Nein, machen die nicht. Das .Net Framework erlaubt solchen Code, die JVM aber nicht. Und sowas kann man schlecht simulieren, willst du die "simulierte" Adresse eines Objekts zurückgeben?

    warum simuliert? reinterpret_cast von irgendwas nach zeiger lassen wir der einfachheit 0 werden. so zur sicherheit.
    und sonst sind zeiger das, was in java in der vm soezifikation reference genannt wird.
    http://java.sun.com/docs/books/vmspec/2nd-edition/html/Overview.doc.html#37906
    ich seh da jetzt keinen dringenden bedarf, anzunehmen, es sei unmöglich, c++ nach java-vm zu compilieren.



  • Hmmmmm die ganze Pointerarithmetik stell ich mir relativ unmöglich vor. Stell dir vor, du merkst dir die Adresse von etwas und der GC verschiebt das Objekt dann. Die JVM hat keinen unmanaged Heap, du kannst nicht Objekte von der GC ausschließen. Das .Net Framework hat sowohl nen verwalteten als auch nen klassischen Heap.

    Die ganze Adressrechnerei müsste aus diesem "C++" IMHO raus, oder hast du da ne konkrete Idee?



  • Wir können's ja noch einfacher machen: Nimm die Adresse von etwas und speicher sie in nem int. Sobald der GC das Objekt entfernt hat, versuch wieder, über die Adresse, darauf zuzugreifen...
    IMHO hat das schon ein paar handfeste Gründe, dass es in C++/CLI so "Referenzen" wie in C# und Java gibt. Mit normalen Pointern kommst du da nicht hin. Die Repräsentation von ner Referenz ist intern auch anders (nämlich Pointer auf Pointer, damit der GC leichter verschieben kann).



  • Optimizer schrieb:

    Hmmmmm die ganze Pointerarithmetik stell ich mir relativ unmöglich vor.

    die ist in c++ auch nur definiert in bereichen, die auf einmal allokiert wurden.
    edit: es geht nicht darum, C abzubilden. das klappt nicht. C++ ist Java näher als C.



  • volkard schrieb:

    es geht nicht darum, C abzubilden. das klappt nicht.

    ich glaube schon dass das klappt. denk mal an c-interpreter. die laufen auch in einer 'virtuellen umgebung'.



  • net schrieb:

    ich glaube schon dass das klappt. denk mal an c-interpreter. die laufen auch in einer 'virtuellen umgebung'.

    aber die koennen sich die umgebung selber definieren. die javavm ist vorgegeben und tut sich mit pointer arithmektik wegen dem gc ordentlich schwer.



  • @volkard: Danke.

    So und zur Übung:

    Syntax
    Syntax
    Syntax
    Syntax
    Syntax
    Syntax
    Syntax
    Syntax
    Syntax
    Syntax

    Irgendwann muss das doch mal in die Finge übergehen.



  • Helium schrieb:

    Finge

    😃 😃


Anmelden zum Antworten