回複內容:
面向市場不同,看公司人員情況,公司大,項目大,人多,流動大,就Java,因為規範,老人走了新人容易接手。
公司小,人少,項目小,員工積極,不經常換人,就python,這樣項目進度噌噌的。Java 是進階語言(High-level programming language),Python 是非常進階語言(very-high-level language [1])。
[1]: http://docs.python.org/tutorial/appetite.html
JAVA 引入包後,調用包的方式比 Python 要簡潔些,而 Python 直接 import 包則是顯式的,不會出現同名模組/類衝突的問題,如果使用“from module import function”的話,在使用的時候也很簡潔卻要求必須有針對性地引用函數。
JAVA 裡的塊用大括弧對包括,Python 以冒號 + 四個空格縮排表示。
JAVA 的類型要聲明,Python 的類型不需要。
JAVA 基本上是類/結構操作,也就是物件導向處理,Python 可以以獨立的函數模組來處理邏輯而不需要放到類中。
JAVA 每行語句以分號結束,Python 可以不寫分號。
JAVA 中的字串以雙引號括起來,Python 中單引號或雙引號都可以(與 JavaScript 一樣)。
實現同一功能時,JAVA 要敲的鍵盤次數一般要比 Python 多。
... ...Python也是強型別。
強弱類型不是指是否需要定義,而是是一旦類型決定了,是否能隨便轉換。
Java和Python的區別是靜態類型和動態類型,靜態類型必須先聲明再使用,動態則不需要聲明。我說一條: 學完Python之後的人應該大都不會喜歡學習Java的...
一個完整的Python HelloWorld程式只要一行代碼:
print("Hello World")
Appeared in 1995
Appeared in1991大括弧和結尾逗號 我還是比較習慣有的。。。這算是問題麼。。區別
一、python虛擬機器沒有java強,java虛擬機器是java的核心,python的核心是可以很方便地使用c語言函數或c++庫。
二、python是全動態性的,可以在運行時自己修改自己的代碼,java只能通過變通方法實現。python的變數是動態,而java的變數是靜態,需要事先聲明,所以java ide的代碼提示功能優於python ide。
三,python的產生幾十年了,幾十年前面向過程是主流,所以用python有好多程式用的是面向過程設計方法,很多概念從c語言過來的,class在python中是後加入的,而java是為了實現沒有指標的c++(當年com組件用的引用記數,java用的虛擬機器),主要採用物件導向的設計方法,很多概念是oop的概念。面向過程,相對簡潔直觀,但容易設計出麵條程式,物件導向,相對抽象優雅,但容易過度抽象。
四,在實際使用的python入門簡單,但要學會用python幹活,需要再學習python各種庫,pyhton的強大在於庫,為什麼python的庫強大,原因是python的庫可以用python,c語言,c++等設計,再提供給python使用,所以無論gpu運行,神經網路,智能演算法,資料分析,影像處理,科學計算,各式各樣的庫在等著你用。而java沒有python那麼多的開源庫,很多庫是商業公司內部使用,或發布出來只是一個jar包,看不到原始代碼。python虛擬機器因為編譯性沒有java的支援的好(或者說故意這麼設計的),一般直接使用源碼(linux),或源碼簡單打個包(如pyexe)。
五、python有很多虛擬機器實現,如cython,Pyston,pypy,jython, IronPython等等,適合用於業務語言,或外掛程式語言,或面向領域語言,而java因為虛擬機器巨大,很少用於外掛程式語言,發布也不方便。
六、java主要用於商業邏輯強的領域,如商城系統,erp,oa,金融,保險等傳統資料庫事務領域,通過類似ssh架構事務代碼,對商務資料庫,如oralce,db2,sql server等支援較好,軟體工程理念較強,適合軟體工程式的多人開發模式。python主要用於web資料分析,科學計算,金融分析,訊號分析,映像演算法,數學計算,統計分析,演算法建模,伺服器營運,自動化操作,快速開發理念強,適合快速Team Dev或個人敏捷模式。
七、java的商業化公司支援多,如sap,oracle,ibm等,有商業化的容器,中介軟體,企業架構ejb。python的開源組織支援多,如qt,linux,google,很多開來源程式都支援python, 如pyqt,redis,spark等。
八、python用途最多的是指令碼,java用途最多的是web,pyhotn是膠水,可以把各類不相關的東西粘在一起用,java是基佬,可以通過軟體工程組成幾百個人的團隊和你pk,商業化氣息重。不過我認為還是python強大,因為可以方便調用c或c++的庫,但軟體工程和商業化運作沒有java好,適合快捷開發。
九,關於錢。
如果你想寫程式賣軟體用java,可用上ibm伺服器,上oracle資料庫,上EMC儲存,價格高,商業採購公司喜歡這種高大上。如果你要直接用程式產生金錢用python,python可以實現寬客金融,資料回測,炒股,炒期權,炒黃金,炒比特幣,對沖套利,統計套利,有很多開源庫,資料分析庫,機器學習庫可以參考。
十、java和python,都可以運行於linux作業系統,但很多linux可以原生支援python,java需要自行安裝。java和python強於c#的原因大於支援linux,支援osx,支援unix,支援arm。java和python比c++受歡迎的原因在於不需要指標。
十一、對於移動互連網,python只能通過運行庫運行於安卓或ios,java原生支援安卓開發,但不能用ios中。
十二、對於大資料,hadoop用java開的, spark用Scala開發,用python調用spark再分析更方便。