先學Python還是Java?看完就有數了

準備學習編程前,你一定會打開電腦搜索一下“先學Python還是先學Java?”撲面而來的是海量回答。如果你問一名Java程序員,肯定會建議你先學Java,因爲他們認爲Python像個乳臭未乾的黃毛小子。但如果你問Python程序員,可能會得到一個完全相反的答案,他們認爲Java是刻板囉嗦的老大爺,而人生苦短,我用Python。

但別擔心,今天我們將會從

  • 語言特色
  • 學習曲線
  • 職業方向
  • 市場需求

等多個方面爲你解答**“選擇Python還是Java的人生難題”**

語言歷史

  • Python:生而爲簡

Python是一門擁有簡潔語法的高級編程語言。一個名爲Guido van Rossum的荷蘭大佬在1991年設計了它。Rossum設計這門語言的初衷,就是爲了讓代碼讀起來更輕鬆,並且讓程序員們比起用其他語言,可以寫更少的代碼,事半功倍。

  • Java:出生就想當老大

而Jame Gosling在1995年設計了Java。 Java是一門以Class爲單位,高度面向對象的高級編程語言。Java的設計初衷是“寫一次代碼,在哪裏都可以用。” Java可以完成任何規模的任務,所以它也是很多公司在做商業級項目的時候的普遍選擇。

語言本身

  • Python: 語法簡潔,容易上手
  • Java:語法稍微複雜

Python的簡潔明瞭和上手的容易程度就一目瞭然了。當然,這還只是一個例子,很多時候Python一兩行代碼就能搞定的事情,Java卻需要多達10行,甚至20行。Python省去了像Java一樣死記硬背語法和結構的時間。只需要基本的學習,你就可以讀懂很多代碼了。正是因爲如此簡單平緩的學習曲線,通過Python的學習,你可以很清晰地瞭解程序員的思維,更專注地學習編程通用的基本概念。在領悟透徹了這些知識以後,學習任何語言都是小菜一碟。許多國外知名大學,如MIT和哈佛,也漸漸地將計算機導論課程語言的選擇,從Java轉變成Python。Python甚至還因此進入了小學計算機教材中。

實際運用

  • Python

  • 通過豐富的Web開發框架,如Django和TurboGears,Python可以用來快速完成一個網站的開發和Web服務。典型如國內的豆瓣、果殼網等

  • 自動化系統網絡的運行維護中,大量重複性工作的地方,並需要做管理系統、監控系統、發佈系統等。

如果你依然在編程的世界裏迷茫,可以加入我們的Python學習扣qun:784758214,看看前輩們是如何學習的!交流經驗!自己是一名高級python開發工程師,從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!分享一些學習的方法和需要注意的小細節,點擊加入我們的 python學習者聚集地

  • 人工智能和數據分析

  • Java

  • 安卓app開發

  • 大型網站的後端

  • 大型的企業級應用

  • 大數據

最近一段時間流行度越來越高的Python,在行業與生活中的運用也十分廣泛。通過豐富的Web開發框架,如Django和TurboGears,Python可以用來快速完成一個網站的開發和Web服務。典型如國內的豆瓣、果殼網等;國外的Google、Dropbox等。在系統網絡的運行維護中,有大量重複性工作的地方,並需要做管理系統、監控系統、發佈系統等,將工作自動化起來,提高工作效率,這樣的場景Python是一門非常合適的語言。因爲Python的易於維護性,就連谷歌前段時間也將網站後臺的很多代碼用Python重寫代替。業餘時間,也可以用Python寫寫簡單的網絡爬蟲,看看誰拉黑了你的微信,甚至做一個刷票機器人。

當然,說到Python,就不得不提它目前最火熱的運用:人工智能和數據分析。Python擁有十分完善的數據分析生態系統。Numpy & Scipy、Pandas、matplotlib 是 Python 最基本數據分析的三駕馬車,而 Jupyter notebook 則是分析的最基本交互式環境。只要涉及機器學習,深度學習,神經網絡這些高大上的領域,是絕對避不開Python的。甚至看到很多研究者的討論帖子都建議早點把研究工具遷移到 Python 生態系統。最典型的例子就是人工智能界最牛的老師之一:Andrew Ng教授。再前幾年的關於機器學習的在線課程裏,Andrew Ng不管課上講解還是課下作業,統統一律用MatLab。但是在今年新出的深度學習課程裏,他毫不猶豫地選擇了Python作爲課程講解和作業的語言,並且強烈推薦廣大學習者熟練掌握Python。在人工智能大行其道的今天,Python的運用前景和發展空間絕對是無限的。

雖然說了這麼多Python在難易程度上的優點,相對於Java,它也不是完全沒有缺點。即使使用Python開發的速度和效率比較高,但從運行的速度和效率來說,Java還是略勝一籌。當運算量很大時,Java的獨特平臺設計的好處就顯現了出來。Java使用的虛擬機架構和獨樹一幟的JIT編譯模式能大大提高它的運行速度。這也是爲什麼Java至今仍然是世界上最受歡迎的語言之一。

如果你想知道Java在實際生活中可以幹什麼,其實遠在天邊,近在眼前。如果你有一部安卓手機,幾乎所有App都是用Java寫成的。大型網站的後端,比如電子商務交易平臺阿里巴巴,淘寶,京東也都主要使用Java開發。大型的企業級應用比如大型企業管理系統,CRM系統,ERP系統也可以用Java開發。有關通信及網絡的大型企業,比如移動、聯通、電信、網通,有關金融行的大型企業,所有的銀行、證券公司、互聯網金融和大型管理系統,比如供應鏈,客戶管理系統,物流系統主要的信息化都和Java息息相關。現在越來越火的大數據,最主流的框架Hadoop的主要開發語言也是Java。所以不難看出,Java還是行業應用不可撼動的老大哥。

薪資

Python

1.美團

薪資:20k~40k

崗位職責: 1. 負責雲數據庫/雲主機控制平面研發工作 2. 加強平臺管理和控制功能,提升資源交付和管理效率

崗位要求:

1. 熟練使用Python,能寫出漂亮的Pythonic的代碼;

2. 極強的學習能力和動力,對未知技術和領域能快速掌握並實踐;

3. 熟練掌握操作系統原理,Internet網絡原理;

4. 有云平臺開發、自動運維平臺開發等大型Python項目經驗者優先;

5. 在開源社羣活躍並有積極貢獻者優先。

2.攜程

薪資:15k-25k

Python開發工程師:1. 負責運維平臺設計及開發,實現運維自動化和運維效率的提高 2. 幫助開發團隊改進開發流程和效率 3. 與運維團隊合作,收集需求,改善運維流程,實現各種運維工具,提高運行維護作業水平 4. 負責網站監控系統、數據收集和數據分析等系統的開發 5. 結合虛擬化技術,打造和完善攜程雲平臺

以下是加分項:

6. 熟悉大型網站運維工作,有運維開發經驗者優先;

7. 有CMDB/monitoring system/agent/automation系統設計與開發經驗者優先

8. 熟悉Puppet/Zabbix/Celery/RabbitMQ優先

9. 熟悉Python/Django/Tornaod優先

10. 熟悉前端開發(XHTML/JQuery/CSS)優先

11. 對OpenStack熟悉者優先

同時,數據顯示,2017年在僱主發佈的職位說明中,Python技能需求增速達到174%,居於首位,Spark、Hadoop等大數據技能需求增幅也十分靠前。

Java方面:

1、京東

薪資:15k-30k

需要具備以下技能:

1、熟練掌握Java基礎,熟練掌握多線程開發技術,熟悉軟件開發流程;

2、熟悉主流Java開源框架如struts、hibernate、spring;

3、熟練掌握HTML/CSS/Javascript/jquery/Ajax;

4、熟悉Oracle/ SQL Server/MySQL其中的一種,並能熟練編寫SQL和存儲過程;

5、熟悉Linux系統,掌握Linux命令。

2、網易

薪資:15k-30k

必須技能:

1、精通java,熟練運用SpringBoot、SpringMVC、Hibernate、Mybatis、struts、struts2等技術,能練使用JQuery或相關的JS框架,精通面向對象設計;

2、熟悉mysql/sqlserver數據庫,瞭解相關的數據庫維護和性能優化,熟悉Tomcat、weblogic等服務器的配置與發佈;

3、全面紮實的軟件知識結構(操作系統、軟件工程、設計模式、數據結構、數據庫系統、網絡安全等);

4、熟練SQL語句的編寫;思維活躍,具備一定的軟件設計能力及良好的軟件工程思想;

總結:

從語言本身,Python語法簡潔,容易上手,而Java以獨特的架構和較快的速度著稱。

Python作爲最近越來越火的語言,是大數據和人工智能的主力軍,同時也在網頁開發中廣泛運用。而Java則壟斷了企業級應用的開發。兩者工程師的薪資也都十分可觀。

文章到這裏,你還不會選的話,我也幫不了你們了233…

發佈了109 篇原創文章 · 獲贊 29 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章