Java相比Python3有哪些優勢?

來源:互聯網
上載者:User
這些優勢主要體現在哪些領域和什麼樣的情景?

回複內容:

雙方都可以列出很多優點,然而這個問題太過草率了……

這裡替Java說幾句話:
JVM的品質遠勝於 Python 的虛擬機器。在JVM環境可以構建起高品質的Python解釋環境,反過來不行。
Java對IDE更友好。





你要想騙Python程式員加班,得談人生理想,談股權,談加班費,談情懷。跟Java程式員談加班,告訴他這是編程規範就好了。沒有什麼誰比誰好,只有誰更適應。
java:用的人多,平台,工具,庫很成熟。企業級應用比較多
python3:靈活,現在正在流行中,後台開發用它也是很快的。可以把小項目輕而易舉地寫成大型項目。Python寫一些簡單的指令碼,小項目比較方便,迭代也快。
當項目大到一定程度java就有優勢了,項目易於維護管理。


動態類型用起來方便,然而並不是很讓人放心除了500行上下的臨時指令碼之外,Java幾乎在任何場合都比Python好
  1. 絕對效能好;又是真多線程
  2. 絕大多數Java的庫都是Pure的(即純Java位元組碼),可以隨便部署到目標機上不用擔心跑不起來。Jar格式可以自己任意合并
  3. 有JMX植入式對象監視器/控制器
  4. 強靜態類型系統意味著編譯器和靜態檢查器自動幫你寫了N多測試
  5. 沒有2 or 3版本大分裂(絕殺)
說Java不好的人一般都是嫌Java常見架構累贅 -- 這個完全可以用自己寫的輕量架構代替。還有些人嫌某些Java IDE不Sexy,這簡直是現代版買櫝還珠(何況我覺得IntelliJ IDEA夠好看的了)我有個比較“激進”的觀點:你要是採用物件導向方式開發軟體,特別是那些規模大些的包容複雜邏輯和處理流程的軟體系統,從分析、設計、再到實現,物件導向一條線貫通下來,那就請把動態類型的諸如Python之類程式設計語言給忘了吧,動態語言的靈活性在這種場合,帶來的不是好處是麻煩,使用Java/C#之類是更合適的選擇。
舉兩個例子,使用物件導向思路進行軟體系統的分析與設計時,一個基本的原則是: 類和對象的職責一定要儘可能地明確。還有一個基本原則: 找出變化點,然後封裝它,讓它的變化對系統其他部分的影響最小。
看到沒有?為了提升系統的可維護性,我們是希望盡量地控制“可變”因素對系統所帶來的影響的。既然如此,一個方法與屬性可以隨時添加與移除的對象,與物件導向設計原則是不是有衝突?
你非要在分析設計時想著:“喲,我用動態程式設計語言實現的,因此對象方法與屬性是可以隨時變化的,我要按照這個特點進行設計”,當然沒人攔著你這麼做。但做過真實商業項目的人一定有體會,那不是幾個十幾個類,通常是數百上千個類,彼此之間還有著複雜的關聯,它們建立的對象之間的互動相當複雜,通常必須遵循一堆的商務規則,就算是基於相對穩定的靜態類進行分析設計,己經夠頭大了,你再來幾條“動態”的“變色龍”攪在裡頭,那滋味,自己體會吧!這話反過來問估計會比較容易兩者的適用面都非常廣。都算是萬金油型的,只要你敢想,就可以用。。
當然java各種開發庫更多。話說,python 91年就出來了,比java和Php都要早。。現在才熬出頭。。我一直以為它是一個比較新的語言來著。。

然後,大項目開發上,java更合適。甚至,如果是不是那種密集計算型的,是比c++要好的。
因為java開發效率雖然比不上python。。
但兩者是可以一起鄙視c++的。
所以對於創業公司來說,c++在前期是完全不用考慮的,什麼時候用?使用者千萬層級。不過大部分活不到哪個時候就跪了。。所以,Python和java是創業公司不錯的選擇。

然後,java更適合大項目,是因為java在中期,使用者在百萬層級左右,但是千萬不到。。發現並發,記憶體各種不夠,但好像最佳化一把也可以用的時候。。
雖然用Python可以拓展c,但終究還是麻煩。
這個時候,jvm的強大之處就出現了。可以各種最佳化,找個熟悉jvm的人,最佳化效率就能提升不少。

大點的項目,都是選c++或者java為主,然後Python或者lua做邊角料,縫縫補補。。用java寫了個程式爬點小資料,擴充的時候聽說python不錯,就想拿來試試。
結果寫了三天了,控制台還沒打出中文來,據說是beautifulsoup的問題java崗位多,好找工作。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.