下邊我們從Python,Java各自特點,以及這兩種語言主要應用領域,就業前景的角度來回答這個問題。
(1)Python
當前人工智能火遍大江南北,AlphaGo的出現讓業界為之興奮,人工智能不再是概念,而人工智能、機器學習的首選語言就是Python。
python是一門兼具簡單與功能強大的動態編程語言,它是解釋執行的,支持函數式編程,面向對象編程。它專注于如何解決問題,有自由開放的社區環境以及豐富的第三方庫,無需浪費時間去造輪子,各種Web框架、爬蟲框架、數據分析框架、機器學習框架應有盡有,拿來即用。
目前Python主要火在數據分析、機器學習和人工智能行業。對于非計算機軟件專業人士來說,如果需要進行機器學習或者人工智能方面的應用開發,這時他們就可以采用開發起來比較簡易的python語言作為開發工具。
不過,在國內,一個現實情況是大部分軟件業務系統(管理信息系統)的開發,Python從來都不是主角,而是作為輔助工具在使用,可能是做個數據統計,弄些運維的腳本,寫個測試腳本之類的,真正用Python來開發核心業務的公司少,大部分公司Python都是應用在一些非核心業務上。
如果你是要往數據分析、機器學習、人工智能等領域發展,或者想加入能夠提供機械制造與機器人、金融與風投、醫學和健康,新聞和寫作,三維動畫與電影等行業人工智能行業解決方案的人士,可以重點學習Python。
(3)Java
而目前中國的軟件公司做的主要工作(包括世界上),就是行業的管理信息系統,以及正在廣泛深入應用的大數據平臺系統,這些軟件的主要開發語言還是Java(JavaEE框架)。同時目前主流的手機操作系統Android的APP開發語言,也是Java。JavaSE入門后,根據應用開發方向,還要進一步學習JavaWeb框架開發,Android移動軟件開發。
所以說,然Python在數據分析和人工智能領域有優勢,但是在提供軟件開發的崗位這點來說,跟Java是沒法比的,Java確實能做到一個0基礎的小白認認真真在培訓機構學幾個月就可以放到軟件工程對應的工作崗位上去干活,但Python不行,Python雖然看起來簡單,但是用好不容易,特別是大規模的團隊對Python的要求就更高了,你去市場上去看,一般招Python都是要求有一定經驗的,而且大部分業務系統的開發都是用Java而不是Python。
(4)綜述
總之,C++是進行操作系統軟件,服務器軟件(包括web服務器,網游服務器,電信運營服務器,金融交易服務器等等),和底層硬件結合的軟硬一體軟件,標準程序庫等系統軟件開發的首選語言。
同時,Python是進行數據分析,人工智能和自動化運維等軟件開發的首選語言。Python最大的問題就在于性能(包括Java早期),但是Python的程序開發效率太高了,多么復雜的問題,幾行代碼就搞定了。同時Python可以十分方便地和C代碼融合到一起。Python和C的組合徹底解決了Python進行人工智能和數據分析程序開發的后顧之憂:先用Python快速開發快速搭建產品原型,然后找出性能瓶頸編寫c++程序庫有針對性的性能優化,然后讓python調用就行。所謂好鋼用在刀刃上,節約時間,節省成本,減少風險,提高程序員的生活品質又有什么不對呢?
而Java是搞行業管理信息系統軟件開發,包括制造業ERP,CRM,電子政務,政府和企業大數據平臺等的主要語言,另外電子商務網站,移動軟件開發,在中國主要都是基于Java語言進行開發的。如果你要去中國軟件公司應聘開發崗位,主要語言學習和掌握的編程語言還是Java。