Geschwindigkeit vs. Sicherheit



  • Wo es hier ja um Sicherheit geht... Aus dem Paper, das ich da oben verlinkt habe:

    As a demonstration of the safety properties provided by Java, we introduced a null pointer dereferencing bug into both the C and Java versions of the RAM disk device. The effect in the Java version was that a Java exception was thrown, resulting in an error code being returned from the kernel to the calling application. The C version caused a panic crash of the Solaris kernel. (This was not unexpected, but it does make for a dramatic conclusion to a presentation!)



  • Gregor schrieb:

    Simon2 schrieb:

    ... aber ich kann es wenigstens.

    Zu den Treiber in Java nochmal: http://research.sun.com/techrep/2006/abstract-156.html

    Ich gestehe, dass ich mir nur einen sehr oberflächlichen Eindruck verschafft habe, aber:
    Wenn der Hersteller von Java sein hauseigenes Betriebssystem (vermutlich mit C/C++) um eine spezielle Java-Schnittstelle erweitert, ist das für mich kein Beispiel dafür, dass Java eine "gute Treibersprache" ist.

    Gruß,

    Simon2.



  • Simon2 schrieb:

    ist das für mich kein Beispiel dafür, dass Java eine "gute Treibersprache" ist.

    Das habe ich nicht behauptet. Es ging um die Möglichkeit, soetwas zu machen. Einen Grund, warum man das vielleicht in Erwägung ziehen könnte, sieht man in dem Zitat da oben.



  • net schrieb:

    ...
    ja, aber damit benutzt du ausschliesslich den 'kompatibilitätsmodus' von c++ ...

    Ich muß gestehen, dass ich C unter C++ mitgemeint habe.
    Es ging auch nur darum: Versuch' mal, in Java auf rohen Speicher zuzugreifen (lesend&schreibend) .... dafür geben C/C++ Dir etwas an die Hand.

    Gruß,

    Simon2.



  • Gregor schrieb:

    Simon2 schrieb:

    ist das für mich kein Beispiel dafür, dass Java eine "gute Treibersprache" ist.

    Das habe ich nicht behauptet. Es ging um die Möglichkeit, soetwas zu machen. Einen Grund, warum man das vielleicht in Erwägung ziehen könnte, sieht man in dem Zitat da oben.

    Wie gesagt: Kunststück, wenn ich für das eine eine angepasste (Interpreter-)Laufzeitumgebung in meinen OS-Kernel einflicke und den anderen direkt auf die Hardware schicke.... 🙄
    Wenn sie aus dem C-Programm Pseudocode generieren und den über eine VM interpretieren ließen, wäre das Ergebnis identisch.

    Nicht vergessen: Sun will ihr Solaris und ihre VMs verkaufen - da ist Java nur Mittel zum Zweck.

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Wenn sie aus dem C-Programm Pseudocode generieren und den über eine VM interpretieren ließen, wäre das Ergebnis identisch.

    Oh, Wunder! Einige Eigenschaften von Java sind darauf zurückzuführen, dass Javaprogramme in einer JVM laufen. Wer hätte das gedacht? Bei C ist das halt nicht so, da hilft auch kein "wenn..., dann hätte..." oder so. Abgesehen davon würde das nicht ausreichen, um zum gleichen Ergebnis zu kommen.



  • Simon2 schrieb:

    Nicht vergessen: Sun will ihr Solaris und ihre VMs verkaufen - da ist Java nur Mittel zum Zweck.

    OpenSoloaris ist kostenlose OSS und die JVMs sind auch größtenteils kostenlos zu beziehen. Suns Geschäftsmodell läuft anders.



  • Gregor schrieb:

    Simon2 schrieb:

    Wenn sie aus dem C-Programm Pseudocode generieren und den über eine VM interpretieren ließen, wäre das Ergebnis identisch.

    Oh, Wunder! Einige Eigenschaften von Java sind darauf zurückzuführen, dass Javaprogramme in einer JVM laufen. Wer hätte das gedacht? Bei C ist das halt nicht so, da hilft auch kein "wenn..., dann hätte..." oder so.

    Hmmm und dann ist Java auf einer schlechtprogrammierten VM eine schlechte Programmiersprache und auf einer gutprogrammierten eine gute ? ...
    Wenn Du über VMs reden möchtest, kannst Du das gerne machen, aber das entzieht jeglichem Vergleich der Sprachen den Boden - dann kannst Du höchstens sagen "Für Java gibt's aber so schöne VMs" ... dann muß ich aber sagen: Für Visual Basic gibt's viel schönere Anwendungen => als ist doch VB die bessere Sprache ? 😉

    Warten wir mit der Abschaffung der Nicht-Javaprogrammiersprachen mal ab, wie viele Hardwarehersteller VMs für ihre Geräte herstellen, OK ?

    Gruß,

    Simon2.



  • Gregor schrieb:

    Simon2 schrieb:

    Nicht vergessen: Sun will ihr Solaris und ihre VMs verkaufen - da ist Java nur Mittel zum Zweck.

    OpenSoloaris ist kostenlose OSS und die JVMs sind auch größtenteils kostenlos zu beziehen. Suns Geschäftsmodell läuft anders.

    🙄

    Ach, sind wir jetzt im "Fanboy-Modus" angekommen ? Sun verdient gutes Geld und ihr Javaprojekt ist ganz bestimmt keine "pro Bono"-Aktion, sondern gut definierter Teil dieses Geschäftsmodells.....

    Gaaaanz ruhig: Niemand macht Dir Dein Sun/Java schlecht ! Es gibt nur Leute, die wissen, dass es nicht die Alleinseligmachende Universalkraft ist.

    Gruß,

    Simon2.



  • net schrieb:

    treiber mit 'nem c++ compiler machen geht zwar, ist aber nicht toll (selbst kernelhacker wie linus t. raten davon ab).

    Na, das hat aber keinen technischen Grund. "C++ sucks. Sorry, but it does."



  • Simon2 schrieb:

    Warten wir mit der Abschaffung der Nicht-Javaprogrammiersprachen mal ab, wie viele Hardwarehersteller VMs für ihre Geräte herstellen, OK ?

    Warum kommen eigentlich immer so absolute Aussagen in solchen Diskussionen? Ich versuche eigentlich meistens, solche Aussagen zu vermeiden, weil sie im Allgemeinen falsch oder sinnlos sind.



  • Simon2 schrieb:

    Gregor schrieb:

    Simon2 schrieb:

    Nicht vergessen: Sun will ihr Solaris und ihre VMs verkaufen - da ist Java nur Mittel zum Zweck.

    OpenSoloaris ist kostenlose OSS und die JVMs sind auch größtenteils kostenlos zu beziehen. Suns Geschäftsmodell läuft anders.

    🙄

    Ach, sind wir jetzt im "Fanboy-Modus" angekommen ?

    Sorry, aber Deine Aussage war einfach falsch. Das hat nichts mit irgendwelchen Fanboy-Ideen zu tun.

    Abgesehen davon ist mit Sun natürlich sympatisch. Es gibt kaum einen Konzern, der einem so viel schenkt. 🙂



  • Optimizer schrieb:

    net schrieb:

    treiber mit 'nem c++ compiler machen geht zwar, ist aber nicht toll (selbst kernelhacker wie linus t. raten davon ab).

    Na, das hat aber keinen technischen Grund. "C++ sucks. Sorry, but it does."

    ein bisschen schon. solche os-kernel haben ihr eigenes objektmodell das nix mit dem von c++ gemeinsam hat.



  • Gregor schrieb:

    ...
    Sorry, aber Deine Aussage war einfach falsch. ...

    Also in unserer Firma zahlen wir eine Menge Holz für Sun-Hardware, -OS, etc... Ich wüßte nicht, was daran falsch sein soll.

    Gregor schrieb:

    ...
    Es gibt kaum einen Konzern, der einem so viel schenkt. 🙂

    und trotzdem haben sie sagenhafte Umsatzzahlen ... ob die wohl Geld im Keller drucken ? 😉

    Gregor schrieb:

    Simon2 schrieb:

    Warten wir mit der Abschaffung der Nicht-Javaprogrammiersprachen mal ab, wie viele Hardwarehersteller VMs für ihre Geräte herstellen, OK ?

    Warum kommen eigentlich immer so absolute Aussagen in solchen Diskussionen? Ich versuche eigentlich meistens, solche Aussagen zu vermeiden, weil sie im Allgemeinen falsch oder sinnlos sind.

    Das war auch die einzige Aussage ("Man kann alles mit Java machen - man braucht für nichts C++"), gegen die ich hier zu Felde gezogen.
    Damit sind wir uns ja einig. 🕶

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Gregor schrieb:

    ...
    Es gibt kaum einen Konzern, der einem so viel schenkt. 🙂

    und trotzdem haben sie sagenhafte Umsatzzahlen ... ob die wohl Geld im Keller drucken ? 😉

    das war mal. ich glaub' irgendwo gelesen zu haben, dass sun ganz schön am abkacken ist. viele stellen sich lieber 'n paar billige pc's hin als die teuren sun boxen...



  • Simon2 schrieb:

    und trotzdem haben sie sagenhafte Umsatzzahlen ... ob die wohl Geld im Keller drucken ? 😉

    Naja, so gut sind die finanziellen Resultate bei Sun momentan nicht. Aber Deine Aussage bezog sich auf die JVMs und Solaris. Beides ist kostenlos erhältlich. ...wobei das bei Solaris noch nicht so lange der Fall ist. Sun verdient Geld in erster Linie durch den Verkauf von Hardware und durch Support. Es ist also mehr die Infrastruktur um diese Softwareprodukte herum, in der Sun Geld verdient. Geld wirst Du Sun also nur dann zahlen, wenn Du "mehr" haben willst.

    Simon2 schrieb:

    Das war auch die einzige Aussage ("Man kann alles mit Java machen - man braucht für nichts C++"), gegen die ich hier zu Felde gezogen.
    Damit sind wir uns ja einig.

    Weder C++ noch Java werden für bestimmte Aufgaben zwingend benötigt. Da sind wir uns einig.



  • net schrieb:

    ich glaub' irgendwo gelesen zu haben, dass sun ganz schön am abkacken ist.

    Das ist allerdings auch übertrieben. Sun macht zwar momentan Minus, ist aber deutlich in einem Aufwärtstrend. Der Wert von Sun ist in den letzten 2 Jahren oder so von 13 Mrd. $ auf über 18 Mrd. $ angestiegen. Insofern kann es nicht soooo schlimm sein.



  • Simon2 schrieb:

    Es gibt nur Leute, die wissen, dass es nicht die Alleinseligmachende Universalkraft ist.

    Das hat hier auch nie jemand (Trolle ausgenommen) behauptet. 🤡

    Edit: Sun Umsatz Zahlen wurden grade erst bei Heise.de veröffentlicht:

    http://www.heise.de/newsticker/meldung/80116

    Viel Umsatz, jedoch unterm Strich Verluste (jedoch mit Aufwärtstrend).



  • net schrieb:

    Optimizer schrieb:

    net schrieb:

    treiber mit 'nem c++ compiler machen geht zwar, ist aber nicht toll (selbst kernelhacker wie linus t. raten davon ab).

    Na, das hat aber keinen technischen Grund. "C++ sucks. Sorry, but it does."

    ein bisschen schon. solche os-kernel haben ihr eigenes objektmodell das nix mit dem von c++ gemeinsam hat.

    Klar, dass du dich an die Treiberschnittstelle anpassen musst. Ich kann also ein 2kB C-Programm schreiben, dass die JVM startet, mit einem Java-Programm, das den Treiber implementiert. Also insgesamt kann man glaube ich nicht sagen, dass man auf Grund einer Treiberschnittstelle am besten eine bestimmte Sprache verwendet. Es mag natürlich andere gute Gründe geben.



  • Optimizer schrieb:

    net schrieb:

    Optimizer schrieb:

    net schrieb:

    treiber mit 'nem c++ compiler machen geht zwar, ist aber nicht toll (selbst kernelhacker wie linus t. raten davon ab).

    Na, das hat aber keinen technischen Grund. "C++ sucks. Sorry, but it does."

    ein bisschen schon. solche os-kernel haben ihr eigenes objektmodell das nix mit dem von c++ gemeinsam hat.

    Klar, dass du dich an die Treiberschnittstelle anpassen musst. Ich kann also ein 2kB C-Programm schreiben, dass die JVM startet, mit einem Java-Programm, das den Treiber implementiert. Also insgesamt kann man glaube ich nicht sagen, dass man auf Grund einer Treiberschnittstelle am besten eine bestimmte Sprache verwendet. Es mag natürlich andere gute Gründe geben.

    naja, andererseits könnte man 'nen kernel basteln mit c++ -kompatiblen treiberschnittstellen, aber möglicherweise ist das oo-gedöns, das c++ bietet, zu statisch dafür d.h. man müsste selbst dann eine laufzeit-objektverwaltung drum herum bauen. vom speed her ginge es ja, da nehmen c und c++ sich nix.


Anmelden zum Antworten