优秀的程序员应该掌握多少门编程语言?
?
編程語(yǔ)言很多很多,數(shù)以百計(jì)。有些很常見(jiàn),如Java,C#,PHP,Ruby,Python和JavaScript,而有些則比較邊緣化或是新出現(xiàn)的,如awk,Go,Julia,Rust。選擇如此之多,我們又該關(guān)注哪個(gè)呢?于是,我開(kāi)始思考這個(gè)問(wèn)題 —— 我們真的需要知道多種語(yǔ)言嗎?
你會(huì)想要學(xué)習(xí)不止一種語(yǔ)言的9個(gè)原因
你不想學(xué)習(xí)更多語(yǔ)言的9個(gè)原因
這并非是一個(gè)非黑即白的問(wèn)題。和其他問(wèn)題一樣,最好的解決辦法是取中間值:總會(huì)有一個(gè)灰色地帶。如果你是一個(gè)初學(xué)者,那么光學(xué)一種語(yǔ)言,然后用它開(kāi)發(fā)個(gè)十幾個(gè)項(xiàng)目,明顯更容易。但在那之后,我建議你成為一個(gè)T形的軟件開(kāi)發(fā)人員。
如果大家對(duì)C/C++感興趣的話,可以加一下我們的學(xué)習(xí)交流Q群:637 ?935 ?295,免費(fèi)領(lǐng)取一套學(xué)習(xí)資料和視頻課程喲~
什么是T形的軟件開(kāi)發(fā)人員
所謂T形的軟件開(kāi)發(fā)人員在某一個(gè)特定的區(qū)域擁有很深的造詣,而且是一種語(yǔ)言的專(zhuān)家,這就是T字母中非常堅(jiān)實(shí)的豎直線,而T的水平線則代表了在此基礎(chǔ)上還應(yīng)該繼續(xù)更廣泛地學(xué)習(xí)其他技能。
那么,這與軟件開(kāi)發(fā),更具體地說(shuō),是學(xué)習(xí)編程語(yǔ)言有什么關(guān)系呢?我的建議精通一種語(yǔ)言。 這種語(yǔ)言將成為你解決大多數(shù)問(wèn)題的左膀右臂。你應(yīng)該盡你所能掌握這門(mén)語(yǔ)言。然后你才可以學(xué)習(xí)最適合工作的第二種語(yǔ)言或技能。可以閱讀我先前寫(xiě)的《 Finding What To Learn Next 》這個(gè)帖子。
T形軟件開(kāi)發(fā)人員不光精通于某一領(lǐng)域,還是一個(gè)多面手。在成為T(mén)形開(kāi)發(fā)者的歷程中,你不但能享受成為某一領(lǐng)域?qū)<业暮锰?#xff0c;還能因了解多種語(yǔ)言而增加靈活性和適應(yīng)性。
你應(yīng)該選擇掌握什么樣的編程語(yǔ)言
看到這里,很多人或許就要問(wèn)了,那么我們應(yīng)該選擇學(xué)習(xí)哪種編程語(yǔ)言呢。亦或者,你才剛剛步入編程這個(gè)時(shí)間,你想知道你應(yīng)該先學(xué)習(xí)什么語(yǔ)言。對(duì)于主要語(yǔ)言,我會(huì)選擇那些已經(jīng)存在了一段時(shí)間的語(yǔ)言,而不是新出來(lái)的。語(yǔ)言應(yīng)為多個(gè)行業(yè)使用,并且有一個(gè)堅(jiān)實(shí)的社區(qū)基礎(chǔ),擁有大量的開(kāi)發(fā)工具。 一些符合這些標(biāo)準(zhǔn)的語(yǔ)言是:Java,C#,.NET,Ruby,Python和Swift。
軟件排行榜基于這些標(biāo)準(zhǔn)持續(xù)跟蹤軟件語(yǔ)言的人氣指數(shù)。你可以點(diǎn)擊這里查看完整的編程語(yǔ)言列表。指數(shù)每月更新,前20名中的大多數(shù)語(yǔ)言都是不錯(cuò)的選擇。那么10年之后,這些語(yǔ)言還會(huì)依然名列前茅嗎?我也不知道。不過(guò)至少在未來(lái)4年內(nèi)是準(zhǔn)的,我想,4年時(shí)間應(yīng)該已經(jīng)足夠你從現(xiàn)在開(kāi)始開(kāi)發(fā)無(wú)論什么項(xiàng)目了。
是否需要了解更多的語(yǔ)言取決于你的目標(biāo)
想開(kāi)始新的業(yè)余項(xiàng)目或業(yè)務(wù)?你可能只需知道一種語(yǔ)言。
想換行業(yè)或駕馭技術(shù)發(fā)展趨勢(shì)?你可能需要知道不止一種語(yǔ)言。
想在企業(yè)環(huán)境中工作?你可能只需要知道一種語(yǔ)言。
想工作在前沿項(xiàng)目?你可能需要知道不止一種語(yǔ)言,因?yàn)槌绷骺偸窃谧兓?/p>
說(shuō)實(shí)話,關(guān)于是否需要了解更多的語(yǔ)言,其實(shí)并沒(méi)有絕對(duì)正確或絕對(duì)錯(cuò)誤的答案。最后的決策結(jié)果取決于你。
總結(jié)
以上是生活随笔為你收集整理的优秀的程序员应该掌握多少门编程语言?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python 深度学习,你的 Keras
- 下一篇: 机器学习实用指南:如何从数据可视化中发现