'Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景'

Java Python 技術 編程語言 程序員 算法 設計 文章 程序媛丶翎兒 2019-09-12
"
"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

1、如果一個不懂2-3門編程語言的人,或者很少使用到Java或者Python,來告訴你Java好還是Python好,這是赤裸裸的不負責任。如果這個人用Python並且混得還稍微可以,他一定會告訴你Python好,如果這個人用Java,他一定會告訴你用Java好。如果兩個語言都沒有用過的鍵盤俠,他會告訴你語言都是相通的,不要糾結。每一個人都說得好有道理的樣子,於是讓你無從選擇。

2、我們必須要明白Java和Python的各自定位。Java源自C和C++的技術體系,於1995年推出,定位於給專門的程序員設計大型的複雜分佈式應用而設計。而Python是1991年推出(比Java還早)主要面向於系統管理,科研,教育和非程序員群體等。大家一定要理解清楚一個現實,這個世界上並不是只有程序員才需要寫程序,還有很多群體需要寫程序。

3、Python比Java早4年出身,但是在國內為什麼幾乎到2010年之後,Python才逐漸火起來呢?原因很簡單,因為我們都太現實了。由於大數據的盛行,由於自動化測試方面的人才需求,以及對於互聯網的一些基礎應用系統的的開發,企業加大了對Python人才的招聘力度(當然,與Java比還有較大的差距),由於有一門感覺很簡單又能賺大錢的編程語言出現了,簡直是人類的福音啊,所以火起來了。這一點與近幾年虛火很旺的Web前端開發很像,其實絕大部分人沒什麼技術能力,但是工資卻拿得不錯。這不是個人的原因,企業也很浮躁,僅此而已,一旦虛火洩了,誰能撐到最後?請各位自行腦補。

"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

1、如果一個不懂2-3門編程語言的人,或者很少使用到Java或者Python,來告訴你Java好還是Python好,這是赤裸裸的不負責任。如果這個人用Python並且混得還稍微可以,他一定會告訴你Python好,如果這個人用Java,他一定會告訴你用Java好。如果兩個語言都沒有用過的鍵盤俠,他會告訴你語言都是相通的,不要糾結。每一個人都說得好有道理的樣子,於是讓你無從選擇。

2、我們必須要明白Java和Python的各自定位。Java源自C和C++的技術體系,於1995年推出,定位於給專門的程序員設計大型的複雜分佈式應用而設計。而Python是1991年推出(比Java還早)主要面向於系統管理,科研,教育和非程序員群體等。大家一定要理解清楚一個現實,這個世界上並不是只有程序員才需要寫程序,還有很多群體需要寫程序。

3、Python比Java早4年出身,但是在國內為什麼幾乎到2010年之後,Python才逐漸火起來呢?原因很簡單,因為我們都太現實了。由於大數據的盛行,由於自動化測試方面的人才需求,以及對於互聯網的一些基礎應用系統的的開發,企業加大了對Python人才的招聘力度(當然,與Java比還有較大的差距),由於有一門感覺很簡單又能賺大錢的編程語言出現了,簡直是人類的福音啊,所以火起來了。這一點與近幾年虛火很旺的Web前端開發很像,其實絕大部分人沒什麼技術能力,但是工資卻拿得不錯。這不是個人的原因,企業也很浮躁,僅此而已,一旦虛火洩了,誰能撐到最後?請各位自行腦補。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

也不知道大家從哪裡得來的一些“誤導”,覺得Python簡單,Java很難,所謂"人生苦短,我用Python"之類的。一方面,Python上手的確相對要快一點而已,僅此而已。解決複雜問題時,沒有人會覺得難點在使用哪門編程語言上,而是解決這個具體問題的算法思路上。這一點各位務必要拎清這個思路。

任何一個領域都有大神,隨著經驗的豐富都能夠解決很多難題。但是,那是很久以後的事了,我們現在討論的是,你還在糾結Java還是Python的這件事,毫無疑問,這個時候,你仍然還是一個菜鳥,甚至連門都沒入。小編建議大家,不要因為什麼事情簡單,所以我要去做,無論是學習編程語言,還是其它,這是最要命的一個出發點,會毀了你的未來。

"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

1、如果一個不懂2-3門編程語言的人,或者很少使用到Java或者Python,來告訴你Java好還是Python好,這是赤裸裸的不負責任。如果這個人用Python並且混得還稍微可以,他一定會告訴你Python好,如果這個人用Java,他一定會告訴你用Java好。如果兩個語言都沒有用過的鍵盤俠,他會告訴你語言都是相通的,不要糾結。每一個人都說得好有道理的樣子,於是讓你無從選擇。

2、我們必須要明白Java和Python的各自定位。Java源自C和C++的技術體系,於1995年推出,定位於給專門的程序員設計大型的複雜分佈式應用而設計。而Python是1991年推出(比Java還早)主要面向於系統管理,科研,教育和非程序員群體等。大家一定要理解清楚一個現實,這個世界上並不是只有程序員才需要寫程序,還有很多群體需要寫程序。

3、Python比Java早4年出身,但是在國內為什麼幾乎到2010年之後,Python才逐漸火起來呢?原因很簡單,因為我們都太現實了。由於大數據的盛行,由於自動化測試方面的人才需求,以及對於互聯網的一些基礎應用系統的的開發,企業加大了對Python人才的招聘力度(當然,與Java比還有較大的差距),由於有一門感覺很簡單又能賺大錢的編程語言出現了,簡直是人類的福音啊,所以火起來了。這一點與近幾年虛火很旺的Web前端開發很像,其實絕大部分人沒什麼技術能力,但是工資卻拿得不錯。這不是個人的原因,企業也很浮躁,僅此而已,一旦虛火洩了,誰能撐到最後?請各位自行腦補。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

也不知道大家從哪裡得來的一些“誤導”,覺得Python簡單,Java很難,所謂"人生苦短,我用Python"之類的。一方面,Python上手的確相對要快一點而已,僅此而已。解決複雜問題時,沒有人會覺得難點在使用哪門編程語言上,而是解決這個具體問題的算法思路上。這一點各位務必要拎清這個思路。

任何一個領域都有大神,隨著經驗的豐富都能夠解決很多難題。但是,那是很久以後的事了,我們現在討論的是,你還在糾結Java還是Python的這件事,毫無疑問,這個時候,你仍然還是一個菜鳥,甚至連門都沒入。小編建議大家,不要因為什麼事情簡單,所以我要去做,無論是學習編程語言,還是其它,這是最要命的一個出發點,會毀了你的未來。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

下面我給大家列出一段我分別使用Java和Python寫的發送一個HTTP協議的一段代碼。之所以能夠這樣,原因很簡單,Java能解決的基本問題,Python也能解決,當然,Python能解決的,Java一樣可以。但是在乾重活兒方面呢,Java更成熟一些。

Java的代碼,實現Agileone系統的需求提案新增功能:

// 實現需求提案的新增
public void doAdd() {
// 先發送POST請求實現登錄
String postUrl1 = "http://localhost/agileone/index.php/common/login";
String postData1 = "username=admin&password=admin&savelogin=true";
String resp1 = hr.sendPost(postUrl1, postData1);
System.out.println(resp1);
// 對sendPost()方法進行了額外的封裝,一次封裝,處處使用

// 再發送POST請求完成新增
String postUrl2 = "http://localhost/agileone/index.php/proposal/add";
String postData2 = "type=Enhancement&importance=Medium&"
+ "headline=&"
+ "content=這是用於Java代碼測試的內容-10009&processresult=";
String resp2 = hr.sendPost(postUrl2, postData2);
System.out.println(resp2);
}

我們再來看看Python實現同樣功能的代碼:

# 導入urllib和http庫
import urllib
import http.cookiejar

# 利用cookiejar自動管理整個過程中的Cookie
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))

# 利用urllib構造POST請求並處理登錄
logindata = { "username" : 'admin', "password": 'admin', "savelogin" : "true" }
data_encoded = urllib.parse.urlencode(logindata).encode('utf-8')
login = opener.open("http://localhost/agileone/index.php/common/login/", data_encoded)
print(login.read())

# 發送Post請求提交新增需求提案
proposaldata = {"type":"Requirement", "importance":"medium",
"headline":"Headline from Python - 10010",
"content":"Content from Python - 10010", "scope":"1",
"processresult":""}
data_encoded = urllib.parse.urlencode(proposaldata).encode('utf-8')
proposal = opener.open("http://localhost/agileone/index.php/proposal/add", data_encoded)
print(proposal.read())

相信大家很難區分所謂的簡單與難。因為代碼幾乎都很類似,這種情況發生在很多場景,解決很多問題時都是一樣的。

讓我們單純從事實出發,Python簡單的原因只是因為,我們使用Python時,我們可能跟個傻子一樣,在直接調用別人給我們寫好的代碼接口而已,而Java的很多處理相對要原生一點,我們寫的代碼要稍微多一點。但是隻要完成封裝,代碼就很難說誰更簡單了。而這個封裝的過程,其實才是編程最重要的部分,如果這一部分我們都不願意親自參與,也不想知道箇中實現原理,你想想,你怎麼可能成長為一個優秀的程序員,還有天理嗎?讓那些勤奮的人,情何以堪。

"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

1、如果一個不懂2-3門編程語言的人,或者很少使用到Java或者Python,來告訴你Java好還是Python好,這是赤裸裸的不負責任。如果這個人用Python並且混得還稍微可以,他一定會告訴你Python好,如果這個人用Java,他一定會告訴你用Java好。如果兩個語言都沒有用過的鍵盤俠,他會告訴你語言都是相通的,不要糾結。每一個人都說得好有道理的樣子,於是讓你無從選擇。

2、我們必須要明白Java和Python的各自定位。Java源自C和C++的技術體系,於1995年推出,定位於給專門的程序員設計大型的複雜分佈式應用而設計。而Python是1991年推出(比Java還早)主要面向於系統管理,科研,教育和非程序員群體等。大家一定要理解清楚一個現實,這個世界上並不是只有程序員才需要寫程序,還有很多群體需要寫程序。

3、Python比Java早4年出身,但是在國內為什麼幾乎到2010年之後,Python才逐漸火起來呢?原因很簡單,因為我們都太現實了。由於大數據的盛行,由於自動化測試方面的人才需求,以及對於互聯網的一些基礎應用系統的的開發,企業加大了對Python人才的招聘力度(當然,與Java比還有較大的差距),由於有一門感覺很簡單又能賺大錢的編程語言出現了,簡直是人類的福音啊,所以火起來了。這一點與近幾年虛火很旺的Web前端開發很像,其實絕大部分人沒什麼技術能力,但是工資卻拿得不錯。這不是個人的原因,企業也很浮躁,僅此而已,一旦虛火洩了,誰能撐到最後?請各位自行腦補。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

也不知道大家從哪裡得來的一些“誤導”,覺得Python簡單,Java很難,所謂"人生苦短,我用Python"之類的。一方面,Python上手的確相對要快一點而已,僅此而已。解決複雜問題時,沒有人會覺得難點在使用哪門編程語言上,而是解決這個具體問題的算法思路上。這一點各位務必要拎清這個思路。

任何一個領域都有大神,隨著經驗的豐富都能夠解決很多難題。但是,那是很久以後的事了,我們現在討論的是,你還在糾結Java還是Python的這件事,毫無疑問,這個時候,你仍然還是一個菜鳥,甚至連門都沒入。小編建議大家,不要因為什麼事情簡單,所以我要去做,無論是學習編程語言,還是其它,這是最要命的一個出發點,會毀了你的未來。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

下面我給大家列出一段我分別使用Java和Python寫的發送一個HTTP協議的一段代碼。之所以能夠這樣,原因很簡單,Java能解決的基本問題,Python也能解決,當然,Python能解決的,Java一樣可以。但是在乾重活兒方面呢,Java更成熟一些。

Java的代碼,實現Agileone系統的需求提案新增功能:

// 實現需求提案的新增
public void doAdd() {
// 先發送POST請求實現登錄
String postUrl1 = "http://localhost/agileone/index.php/common/login";
String postData1 = "username=admin&password=admin&savelogin=true";
String resp1 = hr.sendPost(postUrl1, postData1);
System.out.println(resp1);
// 對sendPost()方法進行了額外的封裝,一次封裝,處處使用

// 再發送POST請求完成新增
String postUrl2 = "http://localhost/agileone/index.php/proposal/add";
String postData2 = "type=Enhancement&importance=Medium&"
+ "headline=&"
+ "content=這是用於Java代碼測試的內容-10009&processresult=";
String resp2 = hr.sendPost(postUrl2, postData2);
System.out.println(resp2);
}

我們再來看看Python實現同樣功能的代碼:

# 導入urllib和http庫
import urllib
import http.cookiejar

# 利用cookiejar自動管理整個過程中的Cookie
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))

# 利用urllib構造POST請求並處理登錄
logindata = { "username" : 'admin', "password": 'admin', "savelogin" : "true" }
data_encoded = urllib.parse.urlencode(logindata).encode('utf-8')
login = opener.open("http://localhost/agileone/index.php/common/login/", data_encoded)
print(login.read())

# 發送Post請求提交新增需求提案
proposaldata = {"type":"Requirement", "importance":"medium",
"headline":"Headline from Python - 10010",
"content":"Content from Python - 10010", "scope":"1",
"processresult":""}
data_encoded = urllib.parse.urlencode(proposaldata).encode('utf-8')
proposal = opener.open("http://localhost/agileone/index.php/proposal/add", data_encoded)
print(proposal.read())

相信大家很難區分所謂的簡單與難。因為代碼幾乎都很類似,這種情況發生在很多場景,解決很多問題時都是一樣的。

讓我們單純從事實出發,Python簡單的原因只是因為,我們使用Python時,我們可能跟個傻子一樣,在直接調用別人給我們寫好的代碼接口而已,而Java的很多處理相對要原生一點,我們寫的代碼要稍微多一點。但是隻要完成封裝,代碼就很難說誰更簡單了。而這個封裝的過程,其實才是編程最重要的部分,如果這一部分我們都不願意親自參與,也不想知道箇中實現原理,你想想,你怎麼可能成長為一個優秀的程序員,還有天理嗎?讓那些勤奮的人,情何以堪。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

所以,請不要再糾結了。小編的經驗,如果你把Java作為你的人生的第一門用心學習的語言,那麼你只需要花極短的時間,就可以基本學會C++,JavaScript,PHP, Python,R,C#,Objective-C,Swift,Go(是的,每一門語言都可以在極短的時間學會,只是具體的問題解決和一些坑需要多積累一些實戰經驗而已)。但是反過來,如果你把Python作為你的第一門語言,問題就回到外國人使用筷子這件事情上了,答案不言而喻。

所以,你未來如果要立志成為一個專業的程序員,建議先學習Java,那是給程序員的專屬語言,是有門檻的,所以你才能夠建立自己的競爭力。如果你只是想玩玩,感受一下,或者是把編程語言作為一個工作中的工具而已,Python是個不錯的選擇。這是面向學習的建議,如果是在企業中真實做項目,那就不要糾結了,項目需要什麼,咱們就學什麼,不需要那麼多理由,幹,才是真理。

錘子好用還是榔頭好用?

Java好還是Python好?

為什麼非得二選一?

浮躁,一個吃飯的工具而已,搞技術的,通吃它們不就完了嗎,你再也不會糾結了,這,才是一個技術人員該有的狀態。難道不是嗎?

小編準備了Python400集+java300集視頻教程,想要的小夥伴可以找小編免費領取!

免費領取方式:

  1. 右上角點擊關注
  2. 評論區任意評論或者轉發一下
  3. 做完1、2步,私信回覆關鍵字“學習”
  4. 私信不要多字,不要少字,不要錯字,私信方法:點擊我頭像,進入主頁面,右上角有私信功能,在關注的上方位置。
"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

1、如果一個不懂2-3門編程語言的人,或者很少使用到Java或者Python,來告訴你Java好還是Python好,這是赤裸裸的不負責任。如果這個人用Python並且混得還稍微可以,他一定會告訴你Python好,如果這個人用Java,他一定會告訴你用Java好。如果兩個語言都沒有用過的鍵盤俠,他會告訴你語言都是相通的,不要糾結。每一個人都說得好有道理的樣子,於是讓你無從選擇。

2、我們必須要明白Java和Python的各自定位。Java源自C和C++的技術體系,於1995年推出,定位於給專門的程序員設計大型的複雜分佈式應用而設計。而Python是1991年推出(比Java還早)主要面向於系統管理,科研,教育和非程序員群體等。大家一定要理解清楚一個現實,這個世界上並不是只有程序員才需要寫程序,還有很多群體需要寫程序。

3、Python比Java早4年出身,但是在國內為什麼幾乎到2010年之後,Python才逐漸火起來呢?原因很簡單,因為我們都太現實了。由於大數據的盛行,由於自動化測試方面的人才需求,以及對於互聯網的一些基礎應用系統的的開發,企業加大了對Python人才的招聘力度(當然,與Java比還有較大的差距),由於有一門感覺很簡單又能賺大錢的編程語言出現了,簡直是人類的福音啊,所以火起來了。這一點與近幾年虛火很旺的Web前端開發很像,其實絕大部分人沒什麼技術能力,但是工資卻拿得不錯。這不是個人的原因,企業也很浮躁,僅此而已,一旦虛火洩了,誰能撐到最後?請各位自行腦補。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

也不知道大家從哪裡得來的一些“誤導”,覺得Python簡單,Java很難,所謂"人生苦短,我用Python"之類的。一方面,Python上手的確相對要快一點而已,僅此而已。解決複雜問題時,沒有人會覺得難點在使用哪門編程語言上,而是解決這個具體問題的算法思路上。這一點各位務必要拎清這個思路。

任何一個領域都有大神,隨著經驗的豐富都能夠解決很多難題。但是,那是很久以後的事了,我們現在討論的是,你還在糾結Java還是Python的這件事,毫無疑問,這個時候,你仍然還是一個菜鳥,甚至連門都沒入。小編建議大家,不要因為什麼事情簡單,所以我要去做,無論是學習編程語言,還是其它,這是最要命的一個出發點,會毀了你的未來。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

下面我給大家列出一段我分別使用Java和Python寫的發送一個HTTP協議的一段代碼。之所以能夠這樣,原因很簡單,Java能解決的基本問題,Python也能解決,當然,Python能解決的,Java一樣可以。但是在乾重活兒方面呢,Java更成熟一些。

Java的代碼,實現Agileone系統的需求提案新增功能:

// 實現需求提案的新增
public void doAdd() {
// 先發送POST請求實現登錄
String postUrl1 = "http://localhost/agileone/index.php/common/login";
String postData1 = "username=admin&password=admin&savelogin=true";
String resp1 = hr.sendPost(postUrl1, postData1);
System.out.println(resp1);
// 對sendPost()方法進行了額外的封裝,一次封裝,處處使用

// 再發送POST請求完成新增
String postUrl2 = "http://localhost/agileone/index.php/proposal/add";
String postData2 = "type=Enhancement&importance=Medium&"
+ "headline=&"
+ "content=這是用於Java代碼測試的內容-10009&processresult=";
String resp2 = hr.sendPost(postUrl2, postData2);
System.out.println(resp2);
}

我們再來看看Python實現同樣功能的代碼:

# 導入urllib和http庫
import urllib
import http.cookiejar

# 利用cookiejar自動管理整個過程中的Cookie
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))

# 利用urllib構造POST請求並處理登錄
logindata = { "username" : 'admin', "password": 'admin', "savelogin" : "true" }
data_encoded = urllib.parse.urlencode(logindata).encode('utf-8')
login = opener.open("http://localhost/agileone/index.php/common/login/", data_encoded)
print(login.read())

# 發送Post請求提交新增需求提案
proposaldata = {"type":"Requirement", "importance":"medium",
"headline":"Headline from Python - 10010",
"content":"Content from Python - 10010", "scope":"1",
"processresult":""}
data_encoded = urllib.parse.urlencode(proposaldata).encode('utf-8')
proposal = opener.open("http://localhost/agileone/index.php/proposal/add", data_encoded)
print(proposal.read())

相信大家很難區分所謂的簡單與難。因為代碼幾乎都很類似,這種情況發生在很多場景,解決很多問題時都是一樣的。

讓我們單純從事實出發,Python簡單的原因只是因為,我們使用Python時,我們可能跟個傻子一樣,在直接調用別人給我們寫好的代碼接口而已,而Java的很多處理相對要原生一點,我們寫的代碼要稍微多一點。但是隻要完成封裝,代碼就很難說誰更簡單了。而這個封裝的過程,其實才是編程最重要的部分,如果這一部分我們都不願意親自參與,也不想知道箇中實現原理,你想想,你怎麼可能成長為一個優秀的程序員,還有天理嗎?讓那些勤奮的人,情何以堪。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

所以,請不要再糾結了。小編的經驗,如果你把Java作為你的人生的第一門用心學習的語言,那麼你只需要花極短的時間,就可以基本學會C++,JavaScript,PHP, Python,R,C#,Objective-C,Swift,Go(是的,每一門語言都可以在極短的時間學會,只是具體的問題解決和一些坑需要多積累一些實戰經驗而已)。但是反過來,如果你把Python作為你的第一門語言,問題就回到外國人使用筷子這件事情上了,答案不言而喻。

所以,你未來如果要立志成為一個專業的程序員,建議先學習Java,那是給程序員的專屬語言,是有門檻的,所以你才能夠建立自己的競爭力。如果你只是想玩玩,感受一下,或者是把編程語言作為一個工作中的工具而已,Python是個不錯的選擇。這是面向學習的建議,如果是在企業中真實做項目,那就不要糾結了,項目需要什麼,咱們就學什麼,不需要那麼多理由,幹,才是真理。

錘子好用還是榔頭好用?

Java好還是Python好?

為什麼非得二選一?

浮躁,一個吃飯的工具而已,搞技術的,通吃它們不就完了嗎,你再也不會糾結了,這,才是一個技術人員該有的狀態。難道不是嗎?

小編準備了Python400集+java300集視頻教程,想要的小夥伴可以找小編免費領取!

免費領取方式:

  1. 右上角點擊關注
  2. 評論區任意評論或者轉發一下
  3. 做完1、2步,私信回覆關鍵字“學習”
  4. 私信不要多字,不要少字,不要錯字,私信方法:點擊我頭像,進入主頁面,右上角有私信功能,在關注的上方位置。
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

"
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

聲明:這是一篇容易引起撕逼的文章,為了祖國和諧,人民安康,請各位看官儘量理性討論。同時,這篇文章是面向一些初入行的朋友進行一些相對中肯一點的分析和建議而已,雖然有濃厚的個人色彩,但我還是儘量以事實說話,以代碼說話,大牛們就不要拿自己的牛逼經驗來這裡裝逼了,當然,你如果非得來跟我撕,哥們兒我奉陪。

我先問大家一個問題,為什麼中國人用刀叉是很容易上手的一件事情,而外國人用筷子,應該是他們在中國吃飯時最痛苦的一件事情吧。為什麼會這樣呢?

其實原因非常簡單,當我們學會了一門技術難度要求更高的技能以後,再去降級學習難度更低的技能是非常容易的一件事情,反之則不然。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

這個道理同樣適用於我們的學習,小編對Java和Python都有較為豐富的使用經驗,當然,Java的應用經驗更豐富,代碼量比Python更多一些。我們會發現,使用Python是一件非常容易的事情。基本上來說,解決問題的方式,方法,算法,思路,所有的編程語言都一樣。我們去學習一門新的編程語言的時候就會容易很多,只需要關注與我們所熟悉的編程語言在語法和使用上存在哪些方面的不同即可。

那麼問題來了?

到底是Python值得學習還是Java呢?

這裡面有三點我必須說破,卻很少有人從這個角度來給大家做分析:

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

1、如果一個不懂2-3門編程語言的人,或者很少使用到Java或者Python,來告訴你Java好還是Python好,這是赤裸裸的不負責任。如果這個人用Python並且混得還稍微可以,他一定會告訴你Python好,如果這個人用Java,他一定會告訴你用Java好。如果兩個語言都沒有用過的鍵盤俠,他會告訴你語言都是相通的,不要糾結。每一個人都說得好有道理的樣子,於是讓你無從選擇。

2、我們必須要明白Java和Python的各自定位。Java源自C和C++的技術體系,於1995年推出,定位於給專門的程序員設計大型的複雜分佈式應用而設計。而Python是1991年推出(比Java還早)主要面向於系統管理,科研,教育和非程序員群體等。大家一定要理解清楚一個現實,這個世界上並不是只有程序員才需要寫程序,還有很多群體需要寫程序。

3、Python比Java早4年出身,但是在國內為什麼幾乎到2010年之後,Python才逐漸火起來呢?原因很簡單,因為我們都太現實了。由於大數據的盛行,由於自動化測試方面的人才需求,以及對於互聯網的一些基礎應用系統的的開發,企業加大了對Python人才的招聘力度(當然,與Java比還有較大的差距),由於有一門感覺很簡單又能賺大錢的編程語言出現了,簡直是人類的福音啊,所以火起來了。這一點與近幾年虛火很旺的Web前端開發很像,其實絕大部分人沒什麼技術能力,但是工資卻拿得不錯。這不是個人的原因,企業也很浮躁,僅此而已,一旦虛火洩了,誰能撐到最後?請各位自行腦補。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

也不知道大家從哪裡得來的一些“誤導”,覺得Python簡單,Java很難,所謂"人生苦短,我用Python"之類的。一方面,Python上手的確相對要快一點而已,僅此而已。解決複雜問題時,沒有人會覺得難點在使用哪門編程語言上,而是解決這個具體問題的算法思路上。這一點各位務必要拎清這個思路。

任何一個領域都有大神,隨著經驗的豐富都能夠解決很多難題。但是,那是很久以後的事了,我們現在討論的是,你還在糾結Java還是Python的這件事,毫無疑問,這個時候,你仍然還是一個菜鳥,甚至連門都沒入。小編建議大家,不要因為什麼事情簡單,所以我要去做,無論是學習編程語言,還是其它,這是最要命的一個出發點,會毀了你的未來。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

下面我給大家列出一段我分別使用Java和Python寫的發送一個HTTP協議的一段代碼。之所以能夠這樣,原因很簡單,Java能解決的基本問題,Python也能解決,當然,Python能解決的,Java一樣可以。但是在乾重活兒方面呢,Java更成熟一些。

Java的代碼,實現Agileone系統的需求提案新增功能:

// 實現需求提案的新增
public void doAdd() {
// 先發送POST請求實現登錄
String postUrl1 = "http://localhost/agileone/index.php/common/login";
String postData1 = "username=admin&password=admin&savelogin=true";
String resp1 = hr.sendPost(postUrl1, postData1);
System.out.println(resp1);
// 對sendPost()方法進行了額外的封裝,一次封裝,處處使用

// 再發送POST請求完成新增
String postUrl2 = "http://localhost/agileone/index.php/proposal/add";
String postData2 = "type=Enhancement&importance=Medium&"
+ "headline=&"
+ "content=這是用於Java代碼測試的內容-10009&processresult=";
String resp2 = hr.sendPost(postUrl2, postData2);
System.out.println(resp2);
}

我們再來看看Python實現同樣功能的代碼:

# 導入urllib和http庫
import urllib
import http.cookiejar

# 利用cookiejar自動管理整個過程中的Cookie
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))

# 利用urllib構造POST請求並處理登錄
logindata = { "username" : 'admin', "password": 'admin', "savelogin" : "true" }
data_encoded = urllib.parse.urlencode(logindata).encode('utf-8')
login = opener.open("http://localhost/agileone/index.php/common/login/", data_encoded)
print(login.read())

# 發送Post請求提交新增需求提案
proposaldata = {"type":"Requirement", "importance":"medium",
"headline":"Headline from Python - 10010",
"content":"Content from Python - 10010", "scope":"1",
"processresult":""}
data_encoded = urllib.parse.urlencode(proposaldata).encode('utf-8')
proposal = opener.open("http://localhost/agileone/index.php/proposal/add", data_encoded)
print(proposal.read())

相信大家很難區分所謂的簡單與難。因為代碼幾乎都很類似,這種情況發生在很多場景,解決很多問題時都是一樣的。

讓我們單純從事實出發,Python簡單的原因只是因為,我們使用Python時,我們可能跟個傻子一樣,在直接調用別人給我們寫好的代碼接口而已,而Java的很多處理相對要原生一點,我們寫的代碼要稍微多一點。但是隻要完成封裝,代碼就很難說誰更簡單了。而這個封裝的過程,其實才是編程最重要的部分,如果這一部分我們都不願意親自參與,也不想知道箇中實現原理,你想想,你怎麼可能成長為一個優秀的程序員,還有天理嗎?讓那些勤奮的人,情何以堪。

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

所以,請不要再糾結了。小編的經驗,如果你把Java作為你的人生的第一門用心學習的語言,那麼你只需要花極短的時間,就可以基本學會C++,JavaScript,PHP, Python,R,C#,Objective-C,Swift,Go(是的,每一門語言都可以在極短的時間學會,只是具體的問題解決和一些坑需要多積累一些實戰經驗而已)。但是反過來,如果你把Python作為你的第一門語言,問題就回到外國人使用筷子這件事情上了,答案不言而喻。

所以,你未來如果要立志成為一個專業的程序員,建議先學習Java,那是給程序員的專屬語言,是有門檻的,所以你才能夠建立自己的競爭力。如果你只是想玩玩,感受一下,或者是把編程語言作為一個工作中的工具而已,Python是個不錯的選擇。這是面向學習的建議,如果是在企業中真實做項目,那就不要糾結了,項目需要什麼,咱們就學什麼,不需要那麼多理由,幹,才是真理。

錘子好用還是榔頭好用?

Java好還是Python好?

為什麼非得二選一?

浮躁,一個吃飯的工具而已,搞技術的,通吃它們不就完了嗎,你再也不會糾結了,這,才是一個技術人員該有的狀態。難道不是嗎?

小編準備了Python400集+java300集視頻教程,想要的小夥伴可以找小編免費領取!

免費領取方式:

  1. 右上角點擊關注
  2. 評論區任意評論或者轉發一下
  3. 做完1、2步,私信回覆關鍵字“學習”
  4. 私信不要多字,不要少字,不要錯字,私信方法:點擊我頭像,進入主頁面,右上角有私信功能,在關注的上方位置。
Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

Java和Python,我該選哪個?10年的大牛為你詳細解析兩種崗位前景

"

相關推薦

推薦中...