
幾個禮拜前,一個學弟問我:
“Ray,我打算之后要找工作了,不過現在自己沒有特別深入的語言,最近想找一門好好學一下,你覺得學什么語言好呀?”
我表示:“這個要看你求職方向、個人喜好、市場供需了,其實現在熱門語言各有各的好,你挑一個順手的學起來就行。”

兜兜轉轉,好幾個禮拜過去了,這位學弟還在幾個語言之間徘徊,由于糾結到底學什么語言好,把所有流行的語言都學了一遍,至今已精通十幾門語言的“HELLO WORLD”,卻沒有深入任何一個語言的底層。

確實,選擇哪一門語言深入鉆研是一個大學問,一門語言需要你投入非常非常多的精力才可以融會貫通,需要好幾年的經驗才敢說自己是精通,所以在技術選型這一關上很多同學都花費了大量時間。
其實,對于求職者而言,選擇哪一門語言要考慮的不只是自身因素,比如語言風格是否符合個人喜好、語言的學習速度、學習曲線...
更要考慮的是這門語言現在及未來在應用領域的發展、這門語言的學習者數量是否過于龐大導致相關崗位門檻快速升高。
我反思了一下自己,當時模棱兩可的回答確實給不了初學者們明確的方向,所以在投入時間成本進行學習前,今天給大家仔細分析分析。
希望看完今天的內容后,大家不要再繼續學習十幾門語言的“HELLO WORLD”了,趕緊選定一門語言,好好修煉內功,去打磨知識深度吧~

那么今天的討論主要圍繞后端方向的語言,包括Java、C++、Golang、Python。

往下看!
JAVA

第一個登場的是Java,后端開發語言領域的老大哥,要說后端開發應用最廣的絕對是它,同樣求職崗位供應最多的也是它,如果你已經瀕臨畢業沒什么時間在瞎琢磨其他的,只想一門心思把所有時間都花在更快地找到工作上,選它選它。
不過從另一方面考慮,我們能想到找工作就要學Java,當然所有人都能想到這點了,因此市面上所有培訓班的后端課90%都是Java培訓。
要說對于Java語言掌握的熟練程度,培訓班出來的同學們水平不一定比CS科班畢業的同學們差,因此雖然Java供應的崗位多,但是求職者也多,競爭壓力大,門檻一路水漲船高,隨便去網上搜一下Java崗位的面經,那難度飆升到讓人害怕。

但是也不要太害怕,Java是一個大中小廠全部都大量使用的語言(其他語言很可能只有大廠才用),也就是說即使由于競爭太激烈而痛失大廠offer,還有中小廠可以拼一拼。
不僅如此,近兩年瘋狂缺人、難度不斷降低的安卓崗,如果你會Java,轉崗面試是很容易過關的,所以可以考慮一下Java哦~
C++

第二個登場的是C++,性能屆的老大哥,廣泛應用于游戲開發、圖像處理、工業等追求性能和速度的領域,也是學校授課的首選語言。
如果你是一個時間還算充裕,想打磨打磨自己計算機基礎知識的同學,選它選它。
C++在我提及的這幾門語言中,某種意義上來說,是難度最大的,那讓人眼花繚亂看一眼心臟就會漏跳一拍的指針、地址、引用、模板、多態……
厚得用來蓋泡面,泡面盒都會被壓垮的《C++ primer》,想必是每一個CS學子心中抹不去的記憶。
不過經歷過風雨,后面就都是彩虹,我可以很負責任地說,如果你可以把C++學通透了,以后學其他語言基本都是分分鐘上手,轉語言根本不是問題。
同時,雖然C++在企業的后端開發中使用率沒有Java高,但你去應聘任何一個崗位,無論它的要求是熟練掌握Java還是Python還是Golang,只要你告訴面試官你熟練掌握C++,一定可以獲得面試機會,如果在面試中對于C++相關問題對答如流,那么一定會給人留下很好的印象。
有時間并且對于底層知識有所追求的同學們,沖!

GOLANG

隨著字節跳動后端全面使用Golang,騰訊某些部門開始推廣使用Golang,以及其他大中小廠的部門或多或少開始使用Golang。
再加上近幾年大火的Docker, Kubernetes均有Golang編寫,Golang徹底走進了且占據了每一個后端求職者的心。
Golang代碼簡潔、易用、開發速度快,且相比于同樣以易用、快著稱的Python,還具有性能良好的優點,具體比Python快多少,大家可以在Leetcode里用同一道題同一個思路,分別用Python和Golang寫一遍對比運行時間。
除此之外,Golang雖然是一門類C語言,同樣擁有指針,但是它學習速度快、學習曲線平緩,用來作為一門快速掌握以應對求職的語言也是不錯的選擇。
要說找后端方向的工作,第一名選Java,第二名就選Golang。不過Golang一般在大中廠使用較多,小廠基本還是Java的天下,也就是說如果水平沒有達到中上的層次,學了Golang可能就要沒飯恰了。
PYTHON

雖然但是,Python是一門流行度不斷上升的語言,可它在后端的地位確實不太行。
Python雖然開發速度很快,但是性能和效率有些不足,后端作為一個處于高并發場景要求快速處理數、據快速響應的部分,對性能的要求還是非常高的,因此選擇使用Python作為大型后端項目的開發語言的公司和崗位可以說非常少。
而且相較于其他語言的資料和教程,大部分Python教程面向于初學者、入門愛好者,只提供一些較淺顯的知識點,讓學習者誤以為Python的學習程度到此就夠了,導致大家忽略了Python的底層機制、實現等,只學到了一些皮毛,在真正面試時才發現面試官問的自己好像不曾關注過。
不過如果你是一個自驅力強,熱愛主動鉆研底層,或是學習用Python做一些爬蟲、數據處理以及快速開發一些自己的小項目的同學,選擇Python造一些有趣的應用也是很不錯的~

— END —
撰文:RAY
校改:小A

點個在看
持續為你提供更多求職干貨