2009-12-10 121 views
9

這不會是一個「編程」問題,而是更多的技術/平臺相關問題。我試圖弄清楚Python是否可以成爲適用於企業/ Web應用程序的Java替代品。企業Python的商業案例

哪種情況下您更喜歡使用Python而不是Java?與典型的Java應用程序相比,典型的Python Web應用程序(數據庫/會話/併發)的性能如何?特定的Python框架如何針對基於Java的框架(Spring,SEAM,Grails等)?

對於企業而言,從Java基礎架構切換到Python基礎架構......是否太難/昂貴/資源密集/不可行?還介紹了向最終客戶提供基於Python + Google AppEngine的解決方案的商業案例。在典型的情況下它是否具有成本效益?

對不起,如果我提出的問題太廣泛,我希望保持特定的問題,但我需要您的幫助,從程序員,服務提供商和最終商業客戶的角度來評估整個Python。

對於SME,基於Python/GoogleAppEngine的技術堆棧是一個明確的可擴展且經濟實惠的平臺。但是對於一個已經在Java上投入了大量資金的大型跨國公司呢?

非常感謝。我正在自己研究這一點,並很樂意在此分享我的結論!

謝謝 Srirangan

回答

14

已有的Java投資的terabucks應該增加jython自己的技術組合的企業 - 它可以循序漸進地採用,起初爲輔助功能,如測試, 「一次性」數據遷移c,新功能的原型設計,使用某些現有開源Python庫的情況顯然非常方便,等等等等 - 然後,隨着公司中許多Java開發人員的學習要使用Jython,一些原型只會作爲Jython代碼投入生產,因爲重新編碼它們沒有優勢,一些需要重新編碼的舊子系統將在Jython中重新編碼,等等。

拋棄一個龐大的現有代碼庫和它所代表的巨大投資是永遠不會是一個明智的決定 - Python的優勢包括豐富的強大的生產級實現,它們「如何與其他人一起玩」,以及Python如何逐漸滲透到大多數開發商店。

+0

感謝您的回答。 – Sri 2009-12-10 09:39:19

+0

@Srirangan,不客氣! – 2009-12-10 16:07:39

+2

「Terabucks」是你拿到咖啡的地方嗎? :) – PaulMcG 2009-12-11 03:15:22

4

對現有技術的投資越大,離開它越昂貴。 COBOL也許是這裏最好的例子。

這項投資不僅僅是移植現有解決方案,還包括重新培訓或招聘新員工,以便您擁有建立和支持新技術的技能,即使仍然保持您的傳統解決方案。

此外,對於大多數大型跨國公司來說,軟件並不是他們的核心業務。只要它能夠有效地發揮作用並滿足業務需求,他們就不會太在意'細節'。

你需要能夠提供一些非常有吸引力的好處來克服這種慣性。

悲傷但真實。

+0

感謝您的回答 – Sri 2009-12-10 09:39:59

1

如果你需要做一些你可以用Django做的事情,那麼Django和Python完全是你想要的。 Google App Engine runs Django as well。因此,您可以製作Django應用程序並將其託管在Google App Engine上,稍後改變主意並切換到常規服務器託管,或者如果您擁有自己的服務器,則可以自行託管。

我還沒有試過谷歌應用引擎,但我的理解是,價格是相當合理的,你會得到什麼。 Google的IT部門在保持數據中心持續發展方面做得非常出色;如果您將託管服務外包給Google App Engine,則您知道您的數據已備份,但您知道服務器不會停止運行,即使反剷托架將整個Google數據中心從Internet上取消,其他一些Google數據中心也將繼續提供服務將您的應用程序交給客戶。您還知道,如果您的應用程序突然變得非常流行,Google App Engine會自動擴展以處理負載。 (我認爲你爲你願意支付的最高限額設置了一個上限,並且它會擴大到達到上限,但正如我所說的,我沒有使用它,但我不確定。)

I haven'目前還沒有使用Java,但從我所見到的情況來看,Python是一種更具表現力的語言,熟練的Python編程人員可以在一天內完成更多的工作,因爲語言更好。但是,如果您已經投資了Java並擁有Java的內部專業知識,那麼您一夜之間就會走開。正確的做法是選擇一個新項目來嘗試那個瘋狂的Python事物。

我真的推薦Django。您可以獲取Django書籍並嘗試該教程。如果你在Python中的第一個試點項目是一個Django項目,你應該有一個簡單的時間。

+0

Django真棒。 GAE + Django不那麼棒,因爲GAE並不真正完全支持Django真正方便的許多功能。任何情況下,OP都在詢問有關內部硬件解決的問題種類,因此GAE不是答案。 – 2009-12-10 10:16:41

+0

另外,我喜歡Python,但是如果你還沒有使用過Java,那麼不要在別的地方喋喋不休,你只是在別處聽到它,這隻會讓你看起來很糟糕。 – 2009-12-10 10:18:41

+0

* Rawk!* steveha想要一個餅乾! < - 這是鸚鵡。請具體說明我在其他地方聽到過的東西。注意我說「從我所看到的情況來看」......我是從我自己的經歷中爭論的。與Java相比,Python需要更少的代碼,大多數人都認爲這有助於人們提高生產力。另請參閱:http://pythonconquerstheuniverse.wordpress.com/category/java-and-python/ – steveha 2009-12-10 19:08:09

0

對於任何技術選擇,幾乎沒有可用的「商業案例」。

「一個已經在Java上投入了大量資金的大型跨國公司怎麼樣」問道。看看有沒有Java的商業案例。

我懷疑你會發現任何東西。大多數公司都在慢慢融入技術選擇。

COBOL沒有商業案例 - 這是古代城鎮裏唯一的遊戲。

很少有Java的商業案例。通常會發生的是,一些有遠見的人開始構建第一個網站(可能是Perl)。 「網絡事物」獲得了牽引力,一些願景個人開始使用Java構建網站。最終,這些小團隊的成功向其他人表明Java相對於COBOL具有優勢。

經理們說「做一個商業案例」,但看他們實際上做了什麼。他們傾聽(1)同行,(2)成功的人。

爲了使Python的「商業案例」,你必須是那個有遠見的人。

1)使用Python。

2)成功。

3)分享你的成功。

4)準備好解釋你的成功是由於你的工具,而不是你的個人水平的天才和魅力。

+0

對於某種語言,肯定有商業案例。我們的開發人員是否有適當的知識,是否有可用於該語言的(新)開發人員?我們是否可以輕鬆地與我們的其他軟件堆棧(例如ldap集成)進行互操作,或者我們是否需要自己重新創建該輪盤?對於商業案例來說,這並不是真正有趣的技術,而是技術的使用和支持。 – extraneon 2009-12-10 11:42:08

+0

@extraneon:所有有趣的問題。但是,沒有一個實際用於定量「商業案例」的方式來制定任何語言使用決策。相反,基於以前的成功,語言使用決策是發生緩慢的事情。看看在任何組織中採用Java。找到「業務案例」文檔。這是非常非常罕見的。 – 2009-12-10 12:24:28

1

您的問題的答案是肯定的。 Python可以很好地適用於Enterprise,因爲Python是一種具有原始功能,靈活且可以與其他編程語言緊密結合的語言。企業真正需要的是一種能夠完成所有工作的語言,而且我覺得Python已經是企業準備好了。如果你想要的例子,那麼我相信有沒有比谷歌更大的例子。 Google正在內部和外部爲其業務關鍵型應用程序運行python。 python唯一的問題是它沒有得到頂尖MNC公司的認可,我們作爲一個python程序員很難說服管理團隊。我想你會面臨同樣的問題。但是我保證,一旦你的腳沾溼了蟒蛇,你就會明白它的真實力量