Ich bin ein Ex-C ++ - Programmierer, der Python vor kurzem entdeckt hat (und kopfüber mit ihm zusammen gefallen ist). Ich habe einige Zeit gebraucht, um Python einigermaßen flüssig zu sprechen, aber ich habe einige beunruhigende Realitäten kennengelernt, die dazu führen können, dass ich es zumindest vorerst als Sprache meiner Wahl absetze. Ich schreibe das in der Hoffnung, dass jemand da draußen mich ausreden kann, indem er mich überzeugt, dass meine Sorgen innerhalb der Grenzen des Python-Universums leicht umgangen werden können.
Ich habe mich für Python entschieden, als ich nach einer einzigen flexiblen Sprache gesucht habe, die es mir ermöglicht, auf verschiedenen Plattformen end-to-end funktionierende Systeme schnell zu erstellen. Dazu gehören:
- Webdienste
- mobile Apps
- plattformübergreifende Client-Anwendungen für PC
Die Entwicklungsgeschwindigkeit hat mehr Priorität als die Ausführungsgeschwindigkeit. Um jedoch die Leistung im Laufe der Zeit zu verbessern, ohne dass größere Umbuchungen oder Änderungen an der Architektur erforderlich sind, muss eine einfache Verbindung mit Java gewährleistet sein. Auf diese Weise kann ich Java verwenden, um bestimmte Komponenten zu optimieren, wenn die Anwendung skaliert, ohne Code wegzuwerfen.
Soweit ich das beurteilen kann, bedeutet meine Forderung nach einer unternehmensfähigen, plattformunabhängigen, schnellen Sprache mit einer großen Entwicklerbasis, dass es Java sein müsste. .NET oder C ++ würde es aufgrund ihrer jeweiligen Einschränkungen nicht schneiden. Auch Java ist eindeutig für die meisten mobilen Plattformen geeignet.
Leider scheint es auf tragische Weise keinen guten Weg zu geben, all diesen Forderungen gerecht zu werden.
Jython scheint das zu sein, nach dem ich im Prinzip suche, außer dass es praktisch tot zu sein scheint, ohne dass jemand es entwickelt, unterstützt oder zu einem großen Grad benutzt. Und auch Jython scheint zu sehr mit den Java-Bibliotheken verheiratet zu sein, da Sie nicht viele der CPython-Standardbibliotheken damit verwenden können, was einen großen Einfluss auf den Code hat, den Sie schreiben.
Die einzige andere Option, die ich sehen kann, ist die Verwendung von JPype in Marshalling-Klassen, was funktionieren mag, obwohl es wie ein Schmerz scheint und ich frage mich, ob es sich auf lange Sicht lohnt.
Auf der anderen Seite scheint alles, was ich suche, durch die Verwendung von JRuby, das viel besser unterstützt wird, verfügbar zu sein. Wie die Dinge stehen, denke ich, dass dies meine beste Option ist. Ich bin traurig darüber, weil ich absolut alles an Python liebe, einschließlich der Syntax. Die Perl-ähnlichen Konstrukte in Ruby fühlen sich für mich in Bezug auf die Lesbarkeit wie ein Rückschritt an, aber am Ende des Tages sind die meisten Vorteile von Python auch in Ruby verfügbar.
Also ich frage dich - verpasse ich hier etwas? Vieles von dem, was ich gesagt habe, basiert auf dem, was ich gelesen habe, also ist diese Zusammenfassung der aktuellen Landschaft genau, oder gibt es eine magische Lösung für die Python-Java-Kluft, die diese Bedenken löscht und mir erlaubt, bequem zu bleiben mein glücklicher Pythonplatz?
Danke für Ihre Hilfe!
gs.