6 Stimmen

Sollte Java die Rückwärtskompatibilität in zukünftigen Versionen zugunsten einer saubereren Sprache aufgeben?

  • Sind Primitive erhaltenswert?
  • Sollen alle veralteten Inhalte gelöscht werden?
  • Brauchen wir 2 GUI-Frameworks?
  • ...

0voto

Daddy Warbox Punkte 4424

Ich denke, eine Abspaltung wäre angemessener, um die Sprache angemessen zu überarbeiten. Die Art und Weise, wie die Generika von Java funktionieren, fängt ehrlich gesagt an, mich zu nerven.

0voto

Gerrit Punkte 1529

Der Grund, warum ich PHP verlassen habe, ist, dass sie die API/verfügbaren Funktionen zwischen größeren Versions-Upgrades ändern. Das eigentliche Problem ist, dass PHP nicht in einem Kompatibilitätsmodus für ältere Skripte laufen kann. Ich möchte nicht gezwungen sein, meinen Code zu aktualisieren.

Java befindet sich an der gleichen Stelle. Stellen Sie einfach sicher, dass Sie die alten 1.4-Programme auf den neuen Versionen verwenden können. Es ist in Ordnung, von neuen Programmen zu verlangen, dass sie eine neue Xyntax verwenden, aber lassen Sie die alten Sachen laufen!

0voto

Yuval Punkte 7817

Was die Primitive angeht, so wird es sie immer geben, ob es einem gefällt oder nicht, denn sie sind die Grundbausteine der Objekte. Sicher, man könnte stattdessen die Wrapper-Klassen verwenden, aber das überfordert den Compiler nur, was in den meisten Fällen letztlich auf Primitive hinausläuft.

Abwärtskompatibilität ist sehr wichtig, und wie hier bereits erwähnt wurde, gibt es eine Menge Benutzer, die noch 1.3 und 1.4 Code verwenden. Abgesehen davon denke ich, dass jeder, der noch Java 1.0- oder 1.1-Code in einem Altsystem einsetzt, wahrscheinlich nicht in absehbarer Zeit auf Java 7 migrieren wird, und selbst wenn er es tut, wird er seinen Code wahrscheinlich sowieso neu schreiben müssen. Ich denke, die veraltete API der Versionen >1.2 kann sicher entfernt werden.

Ein weiterer Aspekt der Abwärtskompatibilität ist die Hinzufügung von Schlüsselwörtern, von der immer abgeraten wird. In Java 5 wurden die wichtigsten Sprachänderungen mit der Hinzufügung eines einzigen neuen Schlüsselworts, "enum", bewältigt, und selbst das sorgte für einen Aufschrei, da jedes Stück Code mit einer Variablen namens "enum" nun nicht mehr konform war. Soweit ich weiß, sind die Änderungen in Java 7 ohne neue Schlüsselwörter geplant (puh!).

Yuval =8-)

0voto

Yoni Roit Punkte 27312

Es wird gut sein, abhängig davon, dass Sun nicht alle seine Kunden mit neuen JDK-Upgrades überhäuft. Diejenigen, die alte APIs verwenden, werden nicht upgraden und für eine Weile eine alte JDK-Version verwenden.

Oder vielleicht, indem man einen Abwärtskompatibilitätsmodus einführt.

0voto

Horcrux7 Punkte 22751

Ich denke, dass einige APIs, wie z.B. Datum und Zeit, neu geschrieben werden sollten. Wenn die aktuelle Version ihr EOL erhält, sollte die alte API entfernt werden. Unsere Statistik zeigt, dass 99,3 % unserer Kunden Java 6 oder eine neuere Version verwenden. Es besteht keine Notwendigkeit für die Kompatibilität sehr alter APIs. Aber es muss einen klaren Zeitrahmen geben, wenn eine API entfernt wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X