Nero FX schrieb:
auf der einen Seite stimme ich dir zu auf der Anderen ist Oracles Hoffnung das die "Verbesserungen" von JAVA 8 eben die Sicherheitslückenproblematik massiv entschärfen. Je länger man an Java 5-7 Sicherheitslücken stopf umso länger braucht Java 8 -> Umso länger sind Java 5-7 auf dem Markt und es werden wieder Sicherheitslücken entdeckt....Teufelskreis?
Weil alle mit dem Release von Java 8 darauf umsteigen werden? Ach nein, warte kurz, wir haben immer noch Firmen die Software anbieten, die nur mit einer Java 5 oder 6 laufen. Der einfache Grund dafür sind Änderungen in der API oder an Funktionen beim Sprung zur nächsten Version, die die Software im Kernbereich treffen würden. Wie lang diese Liste der Änderungen ist, kannst du dir gerne hier anschauen:
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities
Das stecken nicht alle Unternehmen mal so eben weg. Es kommt da durchaus vor, dass die Software mit dem Update einfach nicht mehr funktioniert und die Änderungen sind meist nicht trivialer Natur. Die modernen Prinzipien in der Programmierung wurden leider noch nicht immer beachtet und selbst heute gibt es noch genug schwarze Schafe. Deshalb ist alter Code, der keine Tests hat, nicht mal eben einfach so umzubauen. Meistens kommt dann auch noch Fluktuation in den Unternehmen mit dazu, da kann es auch mal gut passieren, dass sich gar niemand mehr mit dem Code auskennt und man erstmal einen riesigen Aufwand betreiben müsste, den Code zu verstehen und umbauen zu können.
Da kommt dann meistens das zweite Problem ins Spiel, darf ich vorstellen: der Kunde. Wenn du Software hast, die beim Kunden läuft, dann wird der ziemlich sauer wenn:
a) Keine Feature Updates mehr kommen
b) Etwas eingebaut wird, das Geld kosten soll, aber keinen sichtbaren Nutzen hat
c) Die Software plötzlich ein anderes Verhalten aufweist, weil eben Tests gefehlt haben und der Umbau doch nicht 100% das macht, was er eigentlich soll
Da man in der Regel lustige Verträge mit Kunden hat wird das sehr schnell sehr teuer, wenn der Kunde auf einen dieser Punkte läuft. Es werden Umbauten vermieden. Dadurch können keine Updates eingespielt werden. So einfach läuft das Business, traurig aber wahr. Das wäre übrigens der Fall bei großen Unternehmen, die rein theoretisch die Manpower hätten. Kleine Unternehmen haben meistens weder die Manpower, noch das Geld, um solche Umbauen überhaupt finanzieren zu können.
deo schrieb:
Mittlerweile muss man auch voll gepatchte Software als unsicher ansehen. Wenn es geht, sollte man auf so bekannte Software wie Java verzichten. Ohne ist man auch wieder sicher.
Siehe
http://www.golem.de/news/nsa-geheimdienste-lassen-sich-sicherheitsluecken-liefern-1306-99821.html
Ich kann die Guten mittlerweile nicht mehr von den Bösen unterscheiden.
Wenn du so denkst, dann darfst du nichts mehr benutzen. Viel Spass beim Benutzen deiner selbst programmierten Closed Source Projekte, vom Betriebssystem mal komplett abgesehen. Nur mal eben Java deinstallieren wird dir in dem Punkt sicher nicht weiterhelfen. Da gibts genug anderen Kandidaten auf deinem Rechner, die mindestens genauso schlimm sind. Nur weil etwas nicht gerade durch die Presse geschliffen wird, heißt das nicht, dass dort keine Probleme existieren.
DaMoN1993 schrieb:
Es wird Zeit Java endlich einzustampfen. Welchen Nutzen hat das denn heute noch? Wer für viele Plattformen gleichzeitig programmiert, sollte C(++) nutzen. Ist Maschinen-näher und performanter. Wer Objektorientierung und einfache Syntax braucht kann C# oder eine Skriptsprache wie Python oder Ruby nutzen.
Ist alles sicherer und schneller als Java. Ab in den Müll mit diesem Mist!
C für viele Plattformen gleichzeitig? Du hast dich schonmal mit Programmierung auseinandergesetzt oder? Viel Spass beim Schreiben von C-Code, der auf allen Plattformen läuft.
Und der Performancepunkt ist mittlerweile auch sehr ausgelutscht. Du solltest dir vielleicht mal aktuelle Artikel dazu durchlesen und nicht Vergleiche zwischen C und Java 1.1 heranziehen. Die JVMs haben riesige Sprünge gemacht und sind mittlerweile fast gleichauf mit nativem Code, es gibt stellen da ist C schneller, es gibt aber auch Stellen die Java besser kann. Natürlich hast du bei Java auch Overhead, natürlich wird deine hochoptimierte native Anwendung schneller laufen, aber für 99,9% aller Programme ist der 5%ige Performancegewinn einfach nicht ausschlaggebend. Dein Argument ist also absoluter Bockmist. Informier dich bitte bevor du so einen Stammtischschrott von dir gibst.
Die anderen von dir aufgeführten Sprachen haben übrigens auch diverse Probleme. Vor allem Ruby glänzte in den letzten Monaten mit diversen Lücken.
Fazit: Java zu deinstallieren bringt nichts, dumme Stammtischparolen genauso wenig. Java Applets öffnen sich auch nicht von allein, klicke ich also nicht jeden Müll im Internet an, wird mein Rechner nicht verseucht.
Java wird nicht nur im Consumerbereich angewendet, sondern hauptsächlich im Businessbereich. Da interessiert es niemanden, ob jemand ein Applet geschrieben hat, dass irgendwelche Exploits beinhaltet. Die Rechner haben in der Regel keinen Internetzugang oder bieten für diese Exploits keinen Angriffsvektor, weil Java dort im Hintergrund läuft. Nicht alle Webserver auf diesem Planeten laufen auf PHP-Basis, auch wenn es wohl leider die meisten sind.
PHP ist übrigens auch keine schlechte Sprache, nur weil 95% der Hobbyprogrammierer den größten Scheiss nach irgendwelchen Tutorials implementieren, die voll sind mit SQL-Injection-Schwachstellen und XSS-Möglichkeiten.