Frage

So viele Server-Seite und die mobilen Java-Anwendungen verwenden die nativen Java-Sprache für Java. Können wir Jython verwenden stattdessen die Enterprise-Anwendungen zu bauen, zum Beispiel Websites, Anwendungsserver, etc.

Auch was Sie über Java ME-Anwendungen in Jython fühlen.

P. S. Kommentare zu Frage auch willkommen.

War es hilfreich?

Lösung

Nein, Jython ist kein geeigneter Ersatz für Java. Betrachten wir zum Beispiel, dass es keine Möglichkeit bietet Schnittstellen zu implementieren, ohne die Schnittstelle in Java zu schreiben und dann eine Klasse zu schreiben nutzt es in Jython.

Was wir brauchen, ist eine JVM-bezogene entspricht Boo. Boo ist eine Sprache, die .NET CLR, die durch Targeting Python grob inspiriert ist aber nicht kompatibel, und die vollständig belichtet die Funktionalität der CLR (also feature-äquivalent mit C # wird). Es gibt derzeit keine Pythonic Sprache mit Feature-Parität mit Java - und eine solche Sprache würde notwendigerweise unvereinbar mit Python, wie Python einfach keine Möglichkeit vorsieht einige der relevanten Konzepte (wie Schnittstelle eingeben Informationen) zum Ausdruck bringen.


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 nicht eine beliebige Java-Projekt nehmen, entscheiden eine zufällige Teilmenge des Projekts in Jython statt zu implementieren, und nicht jemand anderes auf dem Entwicklungsteam haben wissen oder Pflege. Sicherlich ist Jython geeignet für viele der gleichen Klassen von Projekten, die Java ist, , außer wenn Sie eine Schnittstelle Gebäude sind, die von Java aufgerufen wird, und nicht umgekehrt . Angegeben als „Enterprise-Anwendungen“ ist in der Regel eine Menge von Komponenten aufweisen, die miteinander arbeiten eng zusammen, eine Klasse mit einer beliebigen externen Schnittstelle aufbauen zu können, ist wichtig ... und ist etwas, das nicht leicht in reiner Jython gemacht wird.

Andere Tipps

Es hängt zum großen Teil, was Ihre Anforderungen sind. Alle Sprachen haben ihre Stärken und Schwächen. Es gibt keine perfekte Sprache und macht intelligente Entscheidungen über die Sprache Wahl ist eine wichtige Fähigkeit für einen Programmierer.

Ich bin nicht einverstanden mit Charles, dass Jython kann Java nicht ersetzen, weil Sie nicht Interfaces implementieren können. In dynamischen Sprachen, ist es als Feature gesehen, dass Sie nicht Notwendigkeit Interfaces (siehe Ente eingeben).

Jython nimmt die großen Sprachfunktionen von Python und kombiniert sie mit einfachen Zugang zu riesiger Sammlung von Java-Bibliotheken. Allerdings macht es einen Preis in Form von Overhead und ist eine ziemlich neue Sprache, die Sie weniger Programmierer haben und unterstützen Sie sichern.

Die nette Sache über Jython ist, dass man einzelne Module in Java neu schreiben kann, wenn Leistung ein Problem ist. Die Geschwindigkeit Problem ist weniger bemerkenswert auf Servern, auf denen Sie Hardware auf das Problem werfen. Bei den Mobiltelefonen ist, die Leistung noch Schlüssel und ich kann Jython nicht sieht einen großen Einfluss dort in naher Zukunft zu machen.

So wird Jython Java ersetzen? Nein, ich glaube nicht, es wird - die Dynamik hinter Java ist zu groß. Aber wir werden immer mehr Software mit Teilen sehen geschrieben in Jython und anderen Sprachen der JVM-Targeting.

Nein, Jython kann nicht Java ersetzen, weil Python ist dynamisch typisiert. Ja, das kann Jython für Server-Anwendungen verwendet werden.

Jython ist nicht gut für Java ME, weil Java ME Ressourcen sehr begrenzt hat. Vielleicht einige Jahre später.

Edit: dynamisch typisiert, nicht schwach

Ja. Die Dynamische Sprachen sind die Zukunft. Ich hörte von SUN Vertretern über einen yar vor. Der erstaunliche Teil über Jython ist „native“ Nutzung von Java-Bibliotheken. Dienstleistungen und andere Komponenten können in Java bleiben aber Integrationsschicht wird sicher in der dynamischen Sprache Richtung bewegen. Ich denke, Python ist nativ wie Java orientierte Objekt, das ist, warum sie so gut passen. Ich erwarte nicht, so etwas wie die von anderen Skriptsprachen wie Perl, aber sicher Ruby und Groovy sind auch gute Alternativen.

Sie können Jython verwenden für diese Domains. Offensichtlich ist die Welt für Web-Entwicklung in Richtung dynamisch typisierten Sprachen wie Python oder Ruby zu bewegen. Jython ist schön, in diesem Bereich, da es den kompletten „Java-Stack“ verwenden kann (App-Server, Tomcat, Implementierung und Test-Infrastruktur, ...) in Unternehmen. Sie können auch Ihre Geschäftslogik in Java implementieren.

Allerdings ist Jython kein Ersatz für Java, wie es C # ist. Sie (kann) gewinnen die Produktivität der Programmierer, aber Sie Leistung verlieren und Zeitkontrollen kompilieren. Die Sprachen sind wirklich anders und „optimieren“ für unterschiedliche Aufgaben. Ich würde vorschlagen, Jython für kleinere, nicht-kritische Aufgaben zu bewerten, zum Beispiel durch Starten einige Testfälle, sie umzusetzen.

Ich bezweifle, dass Jython für Java ME Entwicklung nützlich ist. Die Gründe dafür sind in den anderen Beiträgen gegeben. Ressourcenbeschränkungen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top