自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不想被淘汰!該學(xué)習(xí)哪種新的主流編程語言,這里給你答案!

譯文
開發(fā) 開發(fā)工具
流行指數(shù)也許不是唯一的決定性答案,但是學(xué)生和專業(yè)人員仍想知道自己是否在引領(lǐng)職業(yè)生涯及公司往正確的方向發(fā)展。

【51CTO.com快譯】對(duì)于程序員來說,熟悉多種語言和框架很重要,原因是這個(gè)行業(yè)發(fā)展太快,技術(shù)淘汰的速度也很快,3年不學(xué)新東西就可能落伍了。

我在加州大學(xué)伯克利分校學(xué)編程的學(xué)生們經(jīng)常問我哪種編程語言最流行。這個(gè)問題很簡單,但回答起來可一點(diǎn)也不簡單。

[[175387]]

不妨先說說為什么人們想知道答案。通常對(duì)于學(xué)生來說,他們問哪種語言最流行,是因?yàn)樗麄兿雽W(xué)習(xí)有職業(yè)前景的編程語言。并且對(duì)大多數(shù)人來說,從事并不吃香的行業(yè)領(lǐng)域沒有多大意義。其他的情況,就是已經(jīng)擁有嫻熟技能的程序員想了解目前的技能是否很重要,或者是不是該關(guān)注其他語言,因?yàn)榱餍兄笖?shù)的變化可能意味著是時(shí)候該學(xué)習(xí)一種新語言了。

如果,你啟動(dòng)一個(gè)項(xiàng)目,就要選擇用哪種語言來構(gòu)建。你的第一個(gè)標(biāo)準(zhǔn)應(yīng)該始終是使用一種能高效完成任務(wù)的語言。如果一種語言很流行,可是要花兩年時(shí)間才編出程序,而另一種語言不太流行,但是只要兩個(gè)月就能開發(fā)出應(yīng)用程序,你顯然會(huì)選擇不太流行的那種語言。但是在所有情況一樣的場合下,一種更流行的語言通常意味著可以獲得更多的程序員和資源,所以這也是個(gè)重要的考慮因素。

1.什么決定流行指數(shù)?

那么,哪種語言最流行?這個(gè)問題回答起來不如你想象的那么輕松。關(guān)鍵是要確定什么決定流行指數(shù)。

這是個(gè)極其開放性的問題,以至于維基百科有一篇文章專門衡量編程語言的流行指數(shù)。該文章表明了衡量流行指數(shù)的許多可能的因素,包括如下:

某種語言的名稱在網(wǎng)絡(luò)搜索中提到的次數(shù),比如谷歌趨勢表明的結(jié)果。

  • 提到某種語言的招聘廣告的數(shù)量。
  • 教授或介紹某種語言的圖書的銷量。
  • 用某種語言編寫的現(xiàn)有代碼的行數(shù)(估計(jì)值),這可能低估了不常出現(xiàn)在公共搜索中的語言。
  • SourceForge、Freecode和GitHub上使用某種語言的項(xiàng)目數(shù)量。
  • 論壇和新聞組上關(guān)于某種語言的帖子數(shù)量。

連上面這些都不完整。你可以添加其中一些衡量標(biāo)準(zhǔn):

  • 編程培訓(xùn)班銷售的課程數(shù)量。
  • 全球報(bào)名編程課的學(xué)生數(shù)量。
  • YouTube上關(guān)于某種語言的視頻數(shù)量。
  • Reddit或Stack Exchange上關(guān)于某種語言的帖子數(shù)量。

[[175388]]

想必你也明白了。如果你考慮在不同國家的流行指數(shù),這個(gè)問題會(huì)變得更復(fù)雜。某些語言在印度是不是更流行?在美國?在俄羅斯?

結(jié)論就是,流行指數(shù)并不是唯一的決定性答案。

 

2.不同的衡量來源

這時(shí)問題來了。即便明白流行指數(shù)要結(jié)合諸多不同的因素來衡量,但是學(xué)生和專業(yè)人員仍想知道自己是否在引領(lǐng)職業(yè)生涯及公司往正確的方向發(fā)展。

有許多網(wǎng)站發(fā)布語言流行指數(shù)衡量指標(biāo),每一份遵循不同的標(biāo)準(zhǔn)。IEEE Spectrum采用了值得關(guān)注的一種方法,因?yàn)樗慕换D形讓你可以權(quán)衡不同的因素,比如求職網(wǎng)站上的招聘廣告或開源項(xiàng)目。

來源:IEEE Spectrum

Coding Dojo有一個(gè)圖形,它整合了來自求職搜索引擎Indeed.com的統(tǒng)計(jì)數(shù)字。Tiobe長期以來使用搜索引擎的整合結(jié)果來估算流行指數(shù)。PyPl關(guān)注谷歌上語言教程的流行指數(shù)。

遺憾的是,這其實(shí)毫無幫助。如果你看一下要學(xué)習(xí)哪些語言,或者想支持哪些語言,很難決定哪個(gè)圖形是值得信賴的。

3.那么,哪種是最流行的語言呢?

為了幫助你厘清頭緒,我結(jié)合了上面提到的各個(gè)來源。就IEEE的三個(gè)類別而言,趨勢(IEEE Trending)意味著會(huì)是有流行趨勢的語言的排名,工作(IEEE Jobs)體現(xiàn)了Dice.com和CareerBuilder上的崗位空缺的排名,而開放(IEEE Open)體現(xiàn)了開源項(xiàng)目的數(shù)量的排名。

語言流行指數(shù)衡量指標(biāo)的合并圖:

可是問題是,這其實(shí)無法告訴你著重關(guān)注哪種語言。為了深入問題的核心,我對(duì)數(shù)據(jù)進(jìn)行了一番分析。我整合了來自六個(gè)來源中五個(gè)的數(shù)據(jù)(我擯棄了Coding Dojo,因?yàn)樗伙@示十種語言)。然后,我根據(jù)它在每個(gè)圖形上出現(xiàn)的名次、出現(xiàn)了多少次給每種語言加權(quán)。我拿來前十名結(jié)果后制作了下面這張語言分類聚合圖形。

David Gewirtz基于IEEE、 Coding Dojo、PyPl和Tiobe的加權(quán)后的合并分析。

正如你所見,有三類語言。第一大類包括Java、C、Python和C++。毫無疑問,你應(yīng)該熟悉這四種語言。下一大類包括JavaScript、C#、PHP和Swift。剩余兩種語言是Objective-C和R。

4.結(jié)果告訴了我們什么?

第一大類中的語言:Java、C、Python和C++是很普遍的語言。它們并不與某一種特定的編程平臺(tái)相關(guān)聯(lián)。

最值得關(guān)注的線索是第二大類,包括JavaScript、C#、PHP和Swift。JavaScript和PHP主要是Web開發(fā)語言。C#是一種以微軟為中心的語言。Swift是蘋果新的主要編程語言。從根本上來說,第二大類針對(duì)特定的平臺(tái)。

同樣,這告訴了我們什么?如果你了解現(xiàn)代編程,就認(rèn)識(shí)到不僅僅使用語言。你始終為某個(gè)對(duì)象從事開發(fā),無論該對(duì)象是嵌入式系統(tǒng)、iPhone、Web應(yīng)用程序還是微軟服務(wù)器應(yīng)用程序。

語言熟悉程度只是其中的一個(gè)方面。比如說,不管你有多喜歡Python或很普通但仍然管用的C,如果你編寫WordPress插件或主題,就會(huì)用JavaScript和PHP來編寫。其他語言有多流行并不重要。如果你的雇主是微軟技術(shù)開發(fā)商,那么你最好了解C#。

5.從字里行間體會(huì)言外之意

我希望你注意到幾個(gè)比較有意思的方面。首先,Coding Dojo的頭號(hào)語言是SQL。這既合理,又不合理。你很少只用SLQ編程。你使用SQL來訪問數(shù)據(jù),但用另一種語言管理那些數(shù)據(jù)查詢。所以有必要知道SQL。然而,僅僅上SQL課無法保證你有工作、有豐厚薪水或過上好日子。

其次,考慮到iOS應(yīng)用程序的流行指數(shù),針對(duì)蘋果的語言在圖形上的排名比你預(yù)計(jì)的要低。但是這有其道理。如果你想構(gòu)建自己的應(yīng)用程序,應(yīng)該學(xué)習(xí)那些語言。但是招聘蘋果應(yīng)用程序開發(fā)人員的公司數(shù)量并不是很多。這就是為什么Swift在圖形上的排名相對(duì)較低。Objective-C已被Swift取代,我們眼睜睜地看著它的名次下滑。

C家族語言仍是主導(dǎo)者。Java、C++、C、C#甚至Objective-C都是基于C的語言。如果你只想學(xué)習(xí)一種語言,那么應(yīng)該從中挑選一種。我會(huì)建議Java或C++,因?yàn)閷W(xué)會(huì)這兩種語言后,C家族的其余語言學(xué)起來很輕松。

[[175389]]

在我職業(yè)生涯的現(xiàn)階段,我可以用20種語言來編程。我通??梢栽趲滋靸?nèi)學(xué)會(huì)一種新語言。那是由于我在工程學(xué)校的論文就是以語言設(shè)計(jì)為主題,而且20年來我一直斷斷續(xù)續(xù)地在教編程。通曉多種語言對(duì)我大有幫助,因?yàn)槲規(guī)缀蹩偸强梢詾楫?dāng)前的工作選擇一種語言,不是由于我只上了一門課,我就無所不知了。這聽起來難度很大,但是你也能做到。

我給你的忠告就是,學(xué)習(xí)多種語言和多種框架,如果你想從事編程行業(yè)更是如此。用語言來構(gòu)建產(chǎn)品。編程不僅僅是一種心智的運(yùn)用,你還得開發(fā)實(shí)際的東西。

通曉多種語言和框架很重要,因?yàn)橛?jì)算機(jī)行業(yè)在發(fā)生天翻地覆的變化。當(dāng)然,C的歷史比數(shù)字手表和Pong還長,但是Swift問世才短短幾年,卻已經(jīng)躋身前十名。你今天所學(xué)的語言可能不足以滿足整個(gè)事業(yè)生涯的要求。所以學(xué)會(huì)如何學(xué)習(xí)語言就跟學(xué)一種語言一樣重要,而最好的辦法就是學(xué)不止一種語言。

我的建議很簡單。選擇C++或Java,好好學(xué)。然后學(xué)JavaScript。越來越多的基于Web的應(yīng)用程序需要良好的JavaScript技能。然后選擇PHP、Swift或Python,具體要看你想完成哪一種類型的工作。一旦你熟練掌握了這三種語言中的某一種,就能夠比較輕松地選擇你所需要的任何其他語言或框架。

放手干吧,去學(xué)幾種語言,并構(gòu)建出色的產(chǎn)品。歡迎留言交流!

原文標(biāo)題:Which programming languages are most popular (and what does that even mean)?,作者:David Gewirtz

 

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:陶家龍 來源: 51CTO
相關(guān)推薦

2017-11-14 06:10:15

機(jī)器學(xué)習(xí)編程語言數(shù)據(jù)科學(xué)

2020-11-03 06:54:23

編程語言

2019-04-24 08:34:46

編程語言PythonJava

2009-08-13 17:14:55

2020-04-19 21:10:11

機(jī)器學(xué)習(xí)病毒數(shù)據(jù)

2013-04-11 09:51:43

編程語言

2021-01-13 10:40:42

編程語言PLCGraph

2013-07-19 09:31:09

2018-01-02 14:00:16

編程語言Bug

2021-09-18 14:59:58

語言PythonC語言

2019-08-20 09:24:54

Python編程語言Java

2011-12-20 15:57:32

程序員

2017-05-23 15:23:08

金融云

2017-09-12 11:02:51

Python編程語言

2020-07-06 09:57:57

編程語言數(shù)據(jù)Python

2018-12-12 09:33:58

編程語言機(jī)器學(xué)習(xí)代碼

2011-05-30 15:00:06

編程語言

2019-01-25 18:00:12

編程語言PythonJava

2023-04-20 16:37:00

AI人工智能

2014-01-09 10:19:43

大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)