2012-03-12 57 views
3

我是Java開發人員。我想知道我可以通過將Python作爲開發語言添加到Java應用程序中來增加哪些功能和/或積極性。與Java一起使用時,Python提供的額外功能是什麼?

我發佈這裏,因爲我沒有從谷歌得到一個很好的答案。我會要求你不要投票,將其標記爲一個描述性問題,以便未來的Java開發人員能夠理解他如何使用Python更好地製作應用程序。

+0

Java不是縮寫,不應該放在標題中的全部大寫。 – 2012-03-12 10:29:30

回答

2

我知道如何通過jython使用python與java,但是向後...試着問你的問題到jython社區。

1

1st:jython比java慢很多倍。
第二:正如我記得Jython方向的集成 - > java不是很好看。
第三:你會得到Python語法,也許有些電池(我真的不知道這一點)。這是一個優點。
4th:你可以在python中獲得很好的多線程支持而不是綠線程和GIL。這可能是一個優點。

+0

5th。您也可以在許多Java應用程序服務器上部署您的Python。 – 2012-03-12 10:45:52

8

一般來說,這樣做沒有(總體)好處。您只需添加另一種具有自己的運行時功能的語言即可,大多數情況下您可以在Java中執行相同的操作。除非你有特定的理由將Python集成添加到Java應用程序中,否則這將是一個非常糟糕的主意。

然而,在某些情況下是有原因的,你可能會想這樣做:

要腳本功能添加到您的應用程序。
如果您希望應用程序的最終用戶(或者附加組件的作者或系統管理員)能夠編寫部分應用程序的腳本,那麼Python是提供它們的合理選擇。還有其他很好的選擇,但是Python相當知名,相當成熟,具有可觀的Java集成和一組好的功能,所以它不是一個不錯的選擇。

爲了適應Python開發者在你的團隊
如果你的球隊有Python開發誰(無論何種原因)不是願意/能夠用Java寫的,那麼你可以提供設施,以支持包括他們的代碼在你的Java應用程序。

如果您認爲在Python編寫更高效
如果你/你的團隊認爲,編寫Python代碼足夠比編寫Java代碼來證明Jython的運行時集成到Java應用程序的成本更高效,那麼你可能會走這條路。就我個人而言,我會對所有用例的使用情況提出質疑,但這取決於每個團隊的決定。

與現有的Python代碼集成
有可能是庫或正在用Python寫的,你想在你的應用與集成工具。而不是用Java重寫它們,或者試圖通過命令行來運行它們,而不是在JVM的Jython環境中運行它們。

除非您有像上面列出的特定原因之一,否則只需將Jython集成到您的應用程序中並不會給您帶來任何好處,它只是額外的努力來編寫和支持。如果你有這些原因之一,那麼這可能是有道理的,這取決於你的情況。