News Kein Patch für Sicherheitslücke in Java 6

noxon schrieb:
Naja. 48 MB für die 64 Bit Version sind nicht gerade GB. Außerdem ist .NET ja in Windows integriert und muss nur in den seltesten Fällen mitgeliefert werden.

Ok, das habe ich auf meiner einzigen Windows Maschine angeschaut ... habe ich verwechselt. Nur was machste mit Mac und Linux? (Und bitte jetzt ned mit Mono kommen)

noxon schrieb:
Also ich sehe die Stärke ganz eindeutig in der Infrastruktur, die Java zu bieten hat. Du findest eigentlich für alles was du brauchst Frameworks und Bibliotheken. Dort hinkt .NET Java immer noch hinterher.

Wenn ich allerdings sehe, wie sehr die Community die Sprache, an sich, hat verkümmern lassen, dann frage ich mich echt, warum so viele noch mit der Sprache arbeiten.
Die kann ja echt nichts mehr und ist noch auf dem Stand von was weiß ich nicht was. Es gibt mittlerweile so viele schöne neue Techniken die einem die Arbeit erleichtern, die ich nicht mehr missen möchte (Lambda Expressions, Async, LINQ um nur die wichtigsten zu nennen).
Besonders ohne LINQ möchte ich nicht mehr leben. Ich weiß gar nicht wie das gehen soll. Ich musste letztens mal wieder an einem .NET 2.0 Programm arbeiten, wo es noch kein LINQ gab und da ist mir erst einmal aufgefallen, wie sehr mir das fehlen würde.

Und wo du von dem Web sprichst und wie wichtig das ist. Dort wird eine Technik wie Async unheimlich wichtig sein. Web, Cloud und all das was Latenzen mit sich bringt erfordert asynchrone Programmierung, welche bisher immer verdammt schwierig und komplex war. Mit Async wird das nun zu einem echten Kinderspiel.

Async wird übrigens auch massiv in Windows 8 eingesetzt. Da Touch-UIs auf keinen fall mehr blockieren dürfen ist auch hier die asynchrone Programmmierung sehr sehr wichtig geworden. Deshalb gilt seitens Microsoft nun als Vorschrift, dass jede Programmausführung, die länger als 50 ms dauern kann asynchron zum UI Thread ausgeführt werden muss.

LINQ, Async und Lambda Expressions halte ich also für essenziell, wenn es um eine moderne Sprache geht.

Von daher weiß ich nicht, wie Java immer noch ohne all diese Features auskommt. Meiner Meinung nach ist der JCP viel zu langsam um so eine Sprache effektiv weiter zu entwickeln. Da habe ich es doch lieber, wenn eine Firma die Kontrolle über die Entwicklung der Sprache hat und klare und schnelle Entscheidungen trifft.

Im übrigen habe ich nicht unbedingt etwas gehen die JVM, obwohl ich es das rechtlich auch etwas kritisch sehe. Siehe Oracle vs. Google.
Das ist bei .NET aber auch nicht unbedingt besser. Sie isNot Operater Patent.

Sprachen wie Kotlin haben aberviele Features, die ich mir von Java wünschen würde. Damit könnte ich mir sehr gut vorstellen meine Programme zu entwickeln, aber natürlich ist das momentan noch keine ernsthafte Alternative.

Das stimmt zum Teil ned was du sagst, denn Lambda und LINQ sind Sprachfeatures, wobei LINQ den Namen durch MS erhalten hat. Lambda kommt mit Java 8. Asynchrone Programmierung gibt es in Java schon lange ... vorallem im Web schon lange im Einsatz. Gegenfrage: Wie lange unterstützt .Net Websockets schon offiziell, bzw. gibts eine brauchbare Lösung? Asynchrones Programmieren ist schlussendlich nicht mehr als mutli threading. Habe mir schnell n paar Async Beispiele von .Net in C# angeschaut und muss ehrlich sagen, dass mir Callback Methoden wie sie bei (Java, C++) usw. in Verwendung sind lieber sind als dieser Stack-Ansatz von .Net, da hier Methoden logisch fragmentiert werden. Klar kann man ASYNC wie es bei .Net implementiert wird als Sprachfeature definieren, aber ich persönlich bin hier eher konservativ eingestellt. Mir ist viel wichtiger das neue (Web)Standards wie eben Websockets möglichst schnell standartisiert verfügbar sind.

Was für mich ebenfalls viel wichtiger ist, dass Java z.B. mit GWT (Google Web Toolkit) einen "richtigen" RIA Ansatz als Lösungsmöglich fürs Web besitzt. Welcher für Applikationen mit sehr vielen concurrent Users extrem resourcensparend ist für den Server. Wir konzipieren unsere Applikation für bis zu 1000 concurrent User, welche eine Stateful Applikation vor sich haben. Aber eben zu 95% Clientseitig. Man schreibt den Client in Java und der GWT Kompilier kompiliert den Clientteil in Javascript. Hier sehe ich eines der grössten Probleme von .NET ... die Resourcen. Ich will keine Plattform welche im Idle bereits 2-3 GB RAM benötigt .... und dann am besten alle Daten welche nur 1 Client interessieren serverseitig in der HTTP Session gehalten werden. Bei unserer Applikation schlägt ein weiterer Benutzer (je HTTP Session) mit knapp 500 KB zu Buche ... der Flaschenhals ist die CPU, Netzwerk und bedingt das Filesystem.
Wenn man andere Anforderungen hat findet man für jede Problemstellung das richtige. Mir persönlich ist es egal, ob ich nun paar Codezeilen sparen kann, sondern ob grundsätzlich die richtigen Werkzeuge für Probleme zue Verfügung stehen.

Und Oracle vs. Google ... naja Google mischt hier tiptop mit, was ich gut finde. Ich persönlich war auch nicht erfreut über die übernahme von Java durch Oracle, aber da unterdessen so einige Implementierungen von Standards (Referenzimplementierung von Java Enterprise Edition 6 ist von JBoss (Redhat)) relativiert sich das Ganze ziemlich.

Was für mich generell bei Java beruhigt ist, dass es 100% Open Source ist, ausser vielleicht gewisse Middleware von Oracle und IBM und die JVM Implementierung von IBM. Aber wir bei uns verwenden nur Open Source Techs. wo ich mich z.T. auch noch einwenig einbringen kann. Eben der Communityansatz, welchen ich verdammt gut finde ... und dies nicht nur auf Sprach, sondern auch auf Framework Level.

Auf der Plattform von MS ist ausser gerade der .Net Fasade nicht wirklich was Open Source.

Edit: Wegen dem Fortschritt in der Sprache ... wieso ist C++ trotz einem seeeehr langem Entwicklungsprozess von neuen Standards / Versionen immernoch Sprache Nr.1? Mal was zum überlegen ;)
 
Zuletzt bearbeitet:
noxon haut hier eine Perle nach der anderen raus:

Dort muss man Version 6 deinstallieren, wenn man Version 7 installieren möchte. Als Nutzer eines Programms, das unbedingt auf Java 6 angewiesen ist, steht man dann dumm da und man kann deswegen nicht auf Version 7 updaten.
Es ist einfach nicht vorgesehen mehrere Versionen gleichzeitig zu installieren. Das Gleiche gilt auch für 32 und 64 Bit Versionen.
Das Oracle jetzt nach jedem Release einer neuen Version gleich den Support des alten Frameworks einstellt ist wirklich die Höhe.
Von daher weiß ich nicht, wie Java immer noch ohne all diese Features auskommt.Meiner Meinung nach ist der JCP viel zu langsam um so eine Sprache effektiv weiter zu entwickeln. Da habe ich es doch lieber, wenn eine Firma die Kontrolle über die Entwicklung der Sprache hat und klare und schnelle Entscheidungen trifft.
Mein Favorit:
Und wo du von dem Web sprichst und wie wichtig das ist. Dort wird eine Technik wie Async unheimlich wichtig sein. Web, Cloud und all das was Latenzen mit sich bringt erfordert asynchrone Programmierung, welche bisher immer verdammt schwierig und komplex war. Mit Async wird das nun zu einem echten Kinderspiel.

Guck doch mal über deinen Microsoft-Tellerrand, du wirst erstaunt sein, was es da alles zu entdecken gibt.
 
noxon schrieb:
Von daher weiß ich nicht, wie Java immer noch ohne all diese Features auskommt. Meiner Meinung nach ist der JCP viel zu langsam um so eine Sprache effektiv weiter zu entwickeln. Da habe ich es doch lieber, wenn eine Firma die Kontrolle über die Entwicklung der Sprache hat und klare und schnelle Entscheidungen trifft.

Wie jemand anders schon sagte. Javas Hauptanwendungszweck ist JavaEE, sprich Webanwendungen. Dafür ist es nach wie vor State-of-the-Art und es wird auch hauptsächlich hierfür weiterentwickelt.
 
mtmac schrieb:
Java und Sicherheitslücke , kein oder evtl. für die Zukunft geplanter Patch ..... ERZÄHLT mal was neues ....

Wenn man dann noch die Relevanz des jeweiligen Bereichs dazu zählt, ist es wirklich so wie deine deine ironische Suggestion ... nicht wirklich relevant, nur eben ... nicht wirklich ironisch. Meines Erachtens würd ich mir ... wenn ich grundsätzlich Windows Benutzer wäre würde ich ... mir mehr Sorgen um die Sicherheit meiner gesamten Plattform machen ;)
 
MuckMuck schrieb:
oh man "Oracle", finde diese "Politik" nicht gut :(
Aber Ok, dann müssen halt alle mal auf "7" umsteigen ;)

Wer es unbedingt braucht sollte das sowieso tun, und auch dann java deaktivieren solange es man nicht benötigt.
aber leider überfordert dass die user.

und wenn man den user so weit hat dass er das aktualisiert, dann installiert er sich die ASK TOOLBAR mit, oder den MC Afee security scan.
so gesehen ist java einfach ..... :pcangry:
 
captmcneil schrieb:
Ist richtig, aber wir reden hier gerade mal von der vorletzten Version. Wenn hier Java 1.4 abgeschossen wird, versteh ich das. Und auch damit arbeiten noch richtig viele Business-Anwendungen. Selbst Unternehmen wie Daimler haben noch richtig große Projekte im 1.4 und 5 Umfeld.

Die bekommen ja auch weiterhin support nur als privat Kunde nicht.
 
noxon schrieb:
Wow. Das .NET Framework 2.0 von 2006 wird noch bis 2016 supportet.

Du kannst nicht immer verlangen, dass alte Software gleich eingestampft wird. Das mag bei dir auf dem Heim-PC vielleicht möglich sein, aber in Betrieben ist das noch lange nicht der Fall. Bei uns laufen teilweise noch DOS Programme aus den 90'ern. Da ist ein Supportzeitraum von 10 Jahren ein Wimpernschlag.

Weil MS 10 Jahre Supported muss das jeder so machen? Sieben Jahre sind etwas anderes als "gleich" und von eingestampft kann auch keine Rede sein, es gibt lediglich keine kostenlosen Updates mehr für Jedermann.
Super wenn ihr noch DOS Programme einsetzt, spricht ja sehr für den Entwickler dieser Software und die Strukturen im Unternehmen. Und für DOS bekommt ihr noch Support oder?
 
NoD.sunrise schrieb:
Super wenn ihr noch DOS Programme einsetzt, spricht ja sehr für den Entwickler dieser Software und die Strukturen im Unternehmen. Und für DOS bekommt ihr noch Support oder?
Es kommt sogar noch besser. Die Software läuft nur auf einem japanischen MS-DOS. Macht besonders viel Spaß. So ist das halt, wenn du mit außergewöhnlichen Messgeräten arbeitest. Dort kostet ein Update auf eine Windows Software auch schon einmal mehrere 10.000 € und da überlegt man sich das schon mal, ob das wirklich notwendig ist.


Mischu_ schrieb:
Ok, das habe ich auf meiner einzigen Windows Maschine angeschaut ... habe ich verwechselt. Nur was machste mit Mac und Linux? (Und bitte jetzt ned mit Mono kommen)
Was hast du gegen Mono? Mono erlaubt es dir wenigstens mit C# Programme zu schreiben, die auf dem iPhone laufen, dem Windows Phone und auf Android Phones. Das kann keine andere Sprache der Welt. Auch das tolle Java nicht. Von wegen Multiplattform.

Auch wenn ich ein Multiplattform Spiel schreiben würde, dann würde ich auf die Unity-Engine, die Paradox Engine oder Wave Engine setzen.
Die Low Level und teilweise plattformabhängigen Sachen sind zwar in C/C++ geschrieben aber die Game Logik, AI, Physiksimulationen und so weiter werden zum Beispiel in C# geschrieben und sind absolut plattformunabhängig, dank Mono.
Spiele der Unity Engine laufen auf der PS3, PS4, der Xbox360, Xbox One, Wii U, Windows, Linux, iOS, MacOS, Android, Windows Phone, verschiedenen Browser Plugins und Flash. Ich kenne keine javabasierte Engine, die sowas kann.

Meine unter Windows mit dem Visual Studio entwickelten .NET Anwendungen laufen übrigens auch ohne vorherige Tests einwandfrei unter Linux. Mit MS.NET entwickelt und getestet und unter Linux mit Mono läuft es einwandfrei. Ich kann echt nicht meckern und es ist auch nicht so, als ob ich nur Basisfeatures der Sprache verwendet hätte.


Asynchrone Programmierung gibt es in Java schon lange ... vorallem im Web schon lange im Einsatz
Natürlich gibt es das schon lange, aber eben nicht in der Form.

Gegenfrage: Wie lange unterstützt .Net Websockets schon offiziell, bzw. gibts eine brauchbare Lösung?
Offiziell im Framework erst seit kurzem. Vorher nur als externe Libraries.

Asynchrones Programmieren ist schlussendlich nicht mehr als mutli threading.
Eben nicht. Asynchrone Tasks laufen im selben Thread. Multithreading verwendest du, wenn du mehrere rechenintensive Dinge hast, die parallel laufen müssen. Hast du nur mehrere Dinge, die Latenzen erzeugen, aber nicht rechenintensiv sind, dann arbeitest du asynchron. Beispiel: Warten auf Nutzereingaben, Downloads oder Dateizugriffe. Dafür startet man keinen neuen Thread.

Habe mir schnell n paar Async Beispiele von .Net in C# angeschaut und muss ehrlich sagen, dass mir Callback Methoden wie sie bei (Java, C++) usw. in Verwendung sind lieber sind als dieser Stack-Ansatz von .Net, da hier Methoden logisch fragmentiert werden.
Ich weiß nicht, was hier logisch fragmentiert wird. Die asychrone Programmierung wird hier praktisch zu einem sequenziellen Ablauf vereinfacht.
Das Problem bei der ganzen Callback-Geschichte ist, dass du dort irrsinnige Probleme mit der Fehlerbehandlung hast. Es ist ein irrsinniger Aufwand Fehler aus der asynchronen Methode in die aufrufende Methode zurückzuliefern.
Mit Async kannst du ganz einfach Try Catch Blöcke um einen asynchronen Aufruf machen und jeder Fehler der in der asynchronen Methode auftritt wird sofort abgefangen. Einfacher geht es kaum noch.

Klar kann man ASYNC wie es bei .Net implementiert wird als Sprachfeature definieren, aber ich persönlich bin hier eher konservativ eingestellt. Mir ist viel wichtiger das neue (Web)Standards wie eben Websockets möglichst schnell standartisiert verfügbar sind.
Async dient aber eben nicht nur zur Netzwerkkommunikation, sondern zur orchestrierung jeglicher asynchronen Aufrufe, ganz egal was es ist.

Wenn man andere Anforderungen hat findet man für jede Problemstellung das richtige. Mir persönlich ist es egal, ob ich nun paar Codezeilen sparen kann, sondern ob grundsätzlich die richtigen Werkzeuge für Probleme zue Verfügung stehen.
Jup. Ich habe deine Anforderungen nicht, von daher ist mir der Bereich auch relativ unwichtig.

Auf der Plattform von MS ist ausser gerade der .Net Fasade nicht wirklich was Open Source.
Natürlich ist .NET auch Open Source. Zumindest im gleichen Maße wie Java.
Soweit ich weiß darf man den Java Code auch nicht nehmen und neu kompilieren und eine neue Java Version daraus bauen. Du darfst nur reinsehen.
Das darfst du bei .NET auch. Das komplette Framework ist Open Source und große Teile stehen sogar unter der Apache Lizenz, sodass du dir sogar deine eigenen Forks bilden kannst. Deswegen kann Mono ja so schnell seine Features implementieren. Große Teile von Mono sind original MS Code.
ASP.NET, Web API, Web Pages, Windows Communication Foundation, Dynamic Language Runtime, Entity Framework und sogar die Sprachen F#, IronRuby, IronPython und jetzt auch Typescript inklusive Compiler sind alle Open Source.


Edit: Wegen dem Fortschritt in der Sprache ... wieso ist C++ trotz einem seeeehr langem Entwicklungsprozess von neuen Standards / Versionen immernoch Sprache Nr.1? Mal was zum überlegen ;)
Na immerhin haben sie mit C++11 einen Stand erreicht der Top-Aktuell ist und alle Features enthält, die eine moderne Sprache benötigt, wobei mir gerade wieder klar wird, dass Java immer noch nicht solche Basics wie Type Inference beherrscht. *kopfschüttel*

Aber zu deiner Frage. Warum ist C++ immer noch Sprache Nummer 1? Weil es in dem Bereich der Performancesprachen einfach keine vernünftige Konkurrenz gibt. Es ist schwer andere Sprachen zu etablieren. C++ ist bzw. war im Grunde genommen eine grausame Sprache. Mit C++11 hat sich das Gott sei Dank deutlich verbessert, aber schön ist sie immer noch nicht. Man könnte das deutlich besser machen, aber du kannst nicht von den Benutzern verlangen ihr Know-How komplett über Bord zu werfen und das Tooling, die IDEs und die Compiler, in die Jahre lang Arbeit investiert wurde, komplett neu zu entwickeln, bloß weil jetzt eine neue Sprache entworfen wurde.
Da muss diese neue Sprache aber schon einen deutlichen Vorteil bieten. Aus dem selben Grund wird sich Kotlin nicht durchsetzen, obwohl sie besser ist als Java.
 
Zuletzt bearbeitet:
@Noxon ... Schreibe dir später oder Morgen ne PM. Die Diskussion ist für viele wohl nicht wirklich interessant und im Moment hab ich keine Zeit um soviel zu schreiben ;)
 
noxon schrieb:
Es kommt sogar noch besser. Die Software läuft nur auf einem japanischen MS-DOS. Macht besonders viel Spaß. So ist das halt, wenn du mit außergewöhnlichen Messgeräten arbeitest. Dort kostet ein Update auf eine Windows Software auch schon einmal mehrere 10.000 € und da überlegt man sich das schon mal, ob das wirklich notwendig ist.

Das ist dann wirklich noch besser - weil man kein Geld für Aktualisierungen anderer Bereiche der IT Infrastruktur ausgeben möchte sollen dann bitte alle Hersteller ihre alten Produkte ewig weiter kostenlos supporten damit man die veraltete Struktur weiter ohne Einschränkung nutzen kann :)
 
Java 6 gibt es seit Ende 2006; den Nachfolger (v7) bereits seit über 2 Jahren. Vor diesem Hintergrund halte ich dem im Artikel implizierten Vorwurf für nicht gerechtfertigt.
 
Hey nutze auch den Jdownloader. Aber wie alt der Java Krams auch sein mag der mit diesem kommt, problemtaisch wirds doch erst mit einem Java Plugin für nen Browser.

Oder sehe ich da was falsch?
 
Zurück
Oben