Nein, Jython ist kein geeigneter Ersatz für Java. Betrachten Sie zum Beispiel, dass es keine Möglichkeit bietet, Schnittstellen zu implementieren, ohne die Schnittstelle in Java zu schreiben und dann eine Klasse zu schreiben, die sie in Jython nutzt.
Was benötigt wird, ist ein JVM-zielgerichtetes Äquivalent zu Boo. Boo ist eine Sprache, die auf die .NET CLR abzielt, die in etwa von Python inspiriert ist, aber nicht kompatibel ist und die Funktionalität der CLR vollständig freilegt (wodurch sie mit C# funktionsäquivalent ist). Gegenwärtig gibt es keine Pythonic-Sprache mit Merkmalsparität zu Java - und eine solche Sprache wäre notwendigerweise mit Python inkompatibel, da Python einfach keine Möglichkeit bietet, einige der relevanten Konzepte (z. B. Schnittstellen-Typisierungsinformationen) auszudrücken.
Da gibt es einige Fragen zu diesem Thema gewesen, aber Sie mich klarstellen:
Jython ist kein Ersatz für Java in dem Sinne, dass Sie ein beliebiges Java-Projekt nicht nehmen können, beschließen, ein zufälligen zu implementieren Teil von diesem Projekt in Jython und nicht jemand anderes im Entwicklungsteam wissen oder kümmern. Sicher, Jython eignet sich für viele der gleichen Klassen von Projekten, die Java ist, , außer wenn Sie eine Schnittstelle erstellen, die von Java aufgerufen wird, anstatt umgekehrt. Da "Enterprise-Anwendungen" dazu neigen, viele Komponenten zu haben, die eng miteinander zusammenarbeiten, ist es wichtig, eine Klasse mit einer beliebigen externen Schnittstelle zu erstellen ... und das ist in Jython nicht einfach.
-1 Annahme ohne Unterstützung, dass Schnittstellen erforderlich sind. Nicht, dass Jython Java ersetzen könnte oder sollte, aber das ist willkürliche Argumentation. –
@Jesse - Die Tatsache, dass Java-the-Sprache verwendet werden kann, um eine extern sichtbare Schnittstelle zu erstellen, was Jython nicht bedeuten kann, dass Jython weniger Ausdruckskraft hat, wenn es darum geht, auf alle Funktionen des Java-Objektsystems zugreifen zu können. Wenn Sprache A nur eine Teilmenge der Dinge ausdrückt, die Sprache B ausdrücken kann, wie kann man sie als Ersatz bezeichnen? –
@Charles, Wenn ich Ihnen sagen würde, dass Autos Pferdekutschen nicht ersetzen können, weil Autos keine Gülle produzieren können, noch bieten sie Ihnen eine Möglichkeit, Ihre Vorräte an Pferdefutter zu reduzieren, was wäre Ihre Antwort? –