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

2015年編程語(yǔ)言“錢途”盤點(diǎn)

開(kāi)發(fā) 開(kāi)發(fā)工具
科學(xué)技術(shù)工程數(shù)學(xué)(STEM)人才供不應(yīng)求、薪水豐厚,這早已不是什么新聞。2007 年至 2012 年,美國(guó)網(wǎng)上發(fā)布的軟件工作崗位增加了 31%,增長(zhǎng)速度是總體工作崗位的近 3 倍。美國(guó)勞工統(tǒng)計(jì)局估計(jì),從 2012 年至 2022 年,軟件開(kāi)發(fā)員崗位會(huì)繼續(xù)以 22% 的速度增加,截至 2014 年 5 月,應(yīng)用軟件開(kāi)發(fā)員的中位數(shù)年薪就達(dá)到 95510 美元。

如果你打算學(xué)習(xí)如何編寫代碼,會(huì)發(fā)現(xiàn)編程語(yǔ)言的絕對(duì)數(shù)量多得驚人,到底該學(xué)習(xí)哪門語(yǔ)言呢?本文比較了與不同編程語(yǔ)言有關(guān)的薪水、人氣和就業(yè)前景,希望對(duì)你有一些幫助。

  編程語(yǔ)言概述

  在我們開(kāi)始比較編程語(yǔ)言之前,不妨先看一下將要介紹的幾門語(yǔ)言。

  動(dòng)態(tài)類型語(yǔ)言

  通常認(rèn)為動(dòng)態(tài)類型語(yǔ)言對(duì)非編程人員來(lái)說(shuō)更容易學(xué)用,因?yàn)樗鼈兒莒`活。你不需要編寫太多行代碼,就能迅速?gòu)念^開(kāi)始構(gòu)建起一個(gè)應(yīng)用程序;也沒(méi)有硬性 規(guī)定表明如何編寫代碼,才能讓代碼以你想要的方式運(yùn)行。動(dòng)態(tài)類型語(yǔ)言常常是解釋型(非編譯),這意味著運(yùn)行中的應(yīng)用程序可迅速體現(xiàn)你所作的變化,可以為你 節(jié)省時(shí)間。

  一般來(lái)說(shuō),Web 應(yīng)用程序通常是用動(dòng)態(tài)語(yǔ)言編寫的。

  JavaScript

173936dkuk7gahqu5dh773

  別將 JavaScript 與 Java 混為一談;JavaScript 主要是一種客戶端腳本語(yǔ)言,用于前端開(kāi)發(fā)。JavaScript 在所有瀏覽器之間相互兼容,用來(lái)構(gòu)建交互式 Web 應(yīng)用程序,常常通過(guò)代碼庫(kù)(比如 jQuery)和前端框架(比如 AngularJS、Ember.js、React 及更多框架)來(lái)構(gòu)建。

  JavaScript 現(xiàn)在還可以通過(guò) Node.js 平臺(tái),用作一種服務(wù)器端語(yǔ)言。雖然 Node.js 比較新,但社區(qū)的發(fā)展勢(shì)頭很猛。你還可以通過(guò)使用 PhoneGap 之類的框架,借助 JavaScript 來(lái)構(gòu)建混合移動(dòng)應(yīng)用程序,而 Facebook 的 React Native 旨在讓你可以借助 JavaScript 來(lái)構(gòu)建原生移動(dòng)應(yīng)用程序。

  捎帶提一下,F(xiàn)acebook 的 React 還支持 JSX,這種 JavaScript 語(yǔ)法擴(kuò)展可以像 JavaScript 那樣編譯。

  Ruby

173937i64bj7svo9d1jl9z

  Ruby 旨在讓開(kāi)發(fā)員在高效工作的同時(shí)享有樂(lè)趣,它因 Ruby on Rails 框架而流行起來(lái),這種全堆棧 Web 框架經(jīng)過(guò)了優(yōu)化,確保編程過(guò)程中不失樂(lè)趣。由于 Ruby 與英語(yǔ)語(yǔ)法很相似,Rails 又有讓常見(jiàn)開(kāi)發(fā)任務(wù)“在默認(rèn)情況下”更容易完成的工具,許多人會(huì)建議將 Ruby 選為你的***種編程語(yǔ)言。

  Ruby 最常用于后端開(kāi)發(fā);像 Airbnb、Shopify、彭博社(Bloomberg)、Hulu、Slideshare 及更多熱門網(wǎng)站就是用 Ruby on Rails 構(gòu)建的。

  Python

173937qn4skk45hx54ff9h

  Python 是強(qiáng)烈建議初學(xué)者上手的另一種語(yǔ)言,它也是美國(guó)知名大學(xué)***的入門語(yǔ)言。開(kāi)發(fā)員使用 Python 來(lái)構(gòu)建桌面應(yīng)用程序和 Web 應(yīng)用程序,它還有用于數(shù)據(jù)挖掘的優(yōu)秀工具。此外,Python 在學(xué)術(shù)界尤其備受歡迎,用于科學(xué)計(jì)算、數(shù)據(jù)分析和生物信息學(xué)等領(lǐng)域。

  谷歌、Dropbox、Pinterest、Instagram、Reddit、BitTorrent、Civilization IV 及更多網(wǎng)站就是用 Python 構(gòu)建的。

  PHP

173938bcq5mf2x52ggm4kf

  PHP 是一種服務(wù)器端腳本語(yǔ)言,通常被認(rèn)為適合初學(xué)者上手,因?yàn)?PHP 代碼要完成的任務(wù)比較容易概念化,所以學(xué)起來(lái)不難上手。大多數(shù)網(wǎng)站是用 PHP 構(gòu)建的,因?yàn)檫@種語(yǔ)言專門面向 Web。

  Facebook、維基百科、雅虎、Tumblr、WordPress 及更多網(wǎng)站就是用 PHP 構(gòu)建的。

  靜態(tài)類型語(yǔ)言

  眾所周知,用靜態(tài)類型語(yǔ)言構(gòu)建的應(yīng)用程序更易于擴(kuò)展、更穩(wěn)定、更易于維護(hù)。靜態(tài)語(yǔ)言通常比較苛嚴(yán)(通過(guò)類型檢查來(lái)發(fā)現(xiàn)錯(cuò)誤),需要編寫更多的代碼來(lái)構(gòu)建原型。游戲引擎、移動(dòng)應(yīng)用程序和企業(yè)級(jí)后端通常是用靜態(tài)類型語(yǔ)言構(gòu)建的。

  Java

173938p8r5wbffmrdr5t56

  作為一種通用語(yǔ)言,Java 用來(lái)構(gòu)建安卓應(yīng)用程序、桌面應(yīng)用程序和游戲。Java 還常常用作一種服務(wù)器端語(yǔ)言,面向企業(yè)級(jí)后端開(kāi)發(fā):《財(cái)富》500 強(qiáng)公司中 90% 使用 Java。

  此外,Hadoop 是一種廣為流行的基于 Java 的框架,用來(lái)存儲(chǔ)和處理大數(shù)據(jù),雅虎、Facebook 和亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)等知名企業(yè)實(shí)施了該框架。

  C

  C 常常用來(lái)編寫系統(tǒng)軟件,是諸多操作系統(tǒng)的通用語(yǔ)。

  C 影響了我們?cè)诒疚闹幸榻B的幾乎所有編程語(yǔ)言,尤其是 Objective-C 和C++。所以,如果你很熟悉C,其他流行語(yǔ)言學(xué)起來(lái)恐怕難度不大。由于C需要編寫更復(fù)雜的代碼來(lái)執(zhí)行簡(jiǎn)單任務(wù),如果初學(xué)者選擇它作為***種語(yǔ)言,可能很 難保持十足的勁頭。不過(guò),掌握C方面的知識(shí)對(duì)于編程工作肯定大有幫助。

  Objective-C / Swift(面向 iOS 開(kāi)發(fā))

173938ufxv2icaxudi7g7i

  Objective-C 是基于C語(yǔ)言上的一層,讓它具有靜態(tài)性,但它也可以用于動(dòng)態(tài)類型。蘋果的 Swift 是一種靜態(tài)語(yǔ)言,旨在與 Objective-C 兼容,但其靜態(tài)類型讓它對(duì)錯(cuò)誤有更強(qiáng)的適應(yīng)性。

  Swift 的靈感源自 Python,旨在讓編程新手易學(xué)易用。由于 Swift 比較新,我們?cè)诒疚闹兄饕榻B Objective-C。

  C++

  C++是一種基于C的強(qiáng)大語(yǔ)言。它是為編寫系統(tǒng)軟件而設(shè)計(jì)的,不過(guò)也用來(lái)構(gòu)建游戲/游戲引擎、桌面應(yīng)用程序、移動(dòng)應(yīng)用程序和 Web 應(yīng)用程序。C++功能強(qiáng)、速度快,所以連 Facebook 也用它開(kāi)發(fā)了幾個(gè)高性能高可靠性的組件。

  許多款軟件是用 C++ 構(gòu)建的,包括 Adobe Systems、Amazon、Paypal、Chrome 及更多軟件。C++酷似C,通常被認(rèn)為初學(xué)者自學(xué)起來(lái)比較難。

  C#

  C#是為了用于微軟的 .NET 框架而開(kāi)發(fā)的,這種框架目前主要在微軟 Windows 上運(yùn)行。

  C#用于 Web 開(kāi)發(fā)、游戲開(kāi)發(fā)和一般的微軟開(kāi)發(fā)。雖然微軟在過(guò)去并不以跨平臺(tái)兼容出名,不過(guò)初創(chuàng)公司 Xamarin 也在開(kāi)發(fā)一個(gè)名為 Mono 的開(kāi)源項(xiàng)目,旨在將 C# 移植到其他平臺(tái)上,為廣大 Linux 開(kāi)發(fā)員帶去更好的開(kāi)發(fā)工具。最近,你還可以通過(guò) Xamarin,使用 C# 來(lái)構(gòu)建面向 iOS 和安卓的原生移動(dòng)應(yīng)用程序。

  其他語(yǔ)言

  SQL

173938hpriz31fi15prnr2

  SQL(結(jié)構(gòu)化查詢語(yǔ)言)是一種用來(lái)與數(shù)據(jù)庫(kù)進(jìn)行聯(lián)系的查詢語(yǔ)言。雖然 SQL 無(wú)法用來(lái)構(gòu)建應(yīng)用程序,但可以用來(lái)管理使用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)的應(yīng)用程序中的數(shù)據(jù)。

  就業(yè)機(jī)會(huì)

  好了,現(xiàn)在你對(duì)編程語(yǔ)言有了一點(diǎn)了解,可能對(duì)它們所謂的難度也有了一點(diǎn)了解。不過(guò),并非所有語(yǔ)言都有一樣的需求或薪水。如果你學(xué)習(xí)編程的目的是獲得就業(yè)機(jī)會(huì),也不會(huì)被別人說(shuō)某種語(yǔ)言學(xué)起起來(lái)多難打消念頭,下面這些可以幫助你弄清楚應(yīng)該學(xué)哪種語(yǔ)言。

  從來(lái)自 indeed.com 網(wǎng)站分析招聘廣告的薪水估計(jì)數(shù)來(lái)看,我們基本上可以將編程語(yǔ)言分為六檔:

173938ricmahybaucmhcyj

  從這個(gè)結(jié)果來(lái)看,似乎 Objective C 的吸金能力***,而 Java、Ruby、Python、C++和C也是不錯(cuò)的選擇。此外,如果薪水是你關(guān)注的方面,那么 JavaScript、C#、SQL 和 PHP 似乎不是理想的選擇。

  平均薪水會(huì)受到許多因素的影響,比如需求(有多少工作崗位)、供給(有多少開(kāi)發(fā)員掌握該語(yǔ)言),以及資歷(初級(jí)開(kāi)發(fā)員的薪水自然低于高級(jí)開(kāi)發(fā)員),所以有必要在下任何結(jié)論之前,更深入地分析一下這些因素。

  就業(yè)趨勢(shì)

  憑借你熟悉的那種編程語(yǔ)言,找到工作的可能性有多大?這里簡(jiǎn)要分析了來(lái)自 indeed.com 的就業(yè)趨勢(shì):

173938zlsvnxkmrvon6kff

  我們可以從中看到,Java、JavaScript 和 SQL 這三類開(kāi)發(fā)員供不應(yīng)求。尤其是,JavaScript 在這幾年的發(fā)展相當(dāng)迅猛,它在 2010 年超過(guò)了C#,如今與 Java 不相上下。

  相比其他語(yǔ)言,面向 C# 開(kāi)發(fā)員的工作崗位仍很多;對(duì)其他開(kāi)發(fā)員的需求似乎相差無(wú)幾。C++開(kāi)發(fā)員的相對(duì)需求有所減少。

  不過(guò),如果你的目的是供職于初創(chuàng)公司,那么來(lái)自 indeed.com 的就業(yè)趨勢(shì)不是準(zhǔn)確的指標(biāo)。AngelList 可以說(shuō)是初創(chuàng)公司發(fā)布工作崗位的***網(wǎng)站,于是我們根據(jù) AngelList 上的軟件開(kāi)發(fā)員廣告,分析一下對(duì)編程技能的需求。

173939ox5zkxagkykl9f89

  同樣,JavaScript 是需求量***的技能,但初創(chuàng)公司似乎更青睞 Python 和 Ruby(on Rails),而不是 Java、C、C++或C#。

  開(kāi)發(fā)員供給市場(chǎng)

  不妨看一下在線編程教練平臺(tái) Codementor 上的教練們擅長(zhǎng)哪種語(yǔ)言:

173939f1vn0nrat1axw7i0

  當(dāng)然,這絕對(duì)無(wú)法正確反映實(shí)際市場(chǎng),但是應(yīng)該讓你可以大致了解情況。如你所見(jiàn),Objective-C 專家非常稀缺,不過(guò)這一段時(shí)間來(lái),移動(dòng)應(yīng)用程序行業(yè)一直很火爆。由于優(yōu)秀的 Objective-C 開(kāi)發(fā)員供不應(yīng)求,他們的薪水自然比較高。

  另一方面,PHP 方面的人才似乎供給充足,這意味著雇主們會(huì)有更多的選擇,因而在薪水方面有更大的議價(jià)能力,但是我們發(fā)現(xiàn)它的需求量不如 Java、SQL 或 JavaScript 來(lái)得大。因此,PHP 開(kāi)發(fā)員的薪水較低。

  JavaScript 的情況比較特殊。盡管人才供給最多,但它在薪水檔次中并非墊底,我們會(huì)在文章后面分析一下 JavaScript。

  薪水區(qū)間

  你已大致了解了每種語(yǔ)言的供需情況,不妨根據(jù)來(lái)自工作廣告的薪水信息,看一下你有望獲得的潛在薪水。數(shù)據(jù)基于來(lái)自 gooroo.io 的數(shù)據(jù),薪水通常作為每份工作廣告提供的薪水區(qū)間的平均值而獲得。

173939x3jj1syjdbypoaz1

  你在這里可以看到,熟悉 Python、Ruby、C++或 Objective C 的開(kāi)發(fā)員似乎有更高的起薪,但是漲薪空間也比較有限。Python 和 C++ 往往處于潛在薪水區(qū)間的較高端。

  Java 和 JavaScript 的***所出薪水與***所出薪水之間的差異都很大。尤其是,截至 2015 年 4 月,JavaScript 為熟練開(kāi)發(fā)員提供的潛在薪水***,目前為 188168 美元。

  特殊情況:JavaScript 框架

  從上述數(shù)據(jù)來(lái)看,我們知道,JavaScript 開(kāi)發(fā)員需求量很大,他們也有***的潛在薪水,所以 JavaScript 開(kāi)發(fā)員之間的標(biāo)準(zhǔn)差相當(dāng)大。因而,僅僅拿 JavaScript 語(yǔ)言與其他編程語(yǔ)言作一番比較無(wú)法準(zhǔn)確反映出如果你掌握 JavaScript,能拿多少薪水。

  正如在編程語(yǔ)言概述中提到的,JavaScript 是一個(gè)大類。許多框架是為了便于前端網(wǎng)站開(kāi)發(fā)而開(kāi)發(fā)的,所以如果你光知道 JavaScript 和 jQuery,所拿的薪水可能不如熟知 JavaScript 框架的其他 JavaScript 開(kāi)發(fā)員。

  不妨看一下美國(guó)不同 JavaScript 框架開(kāi)發(fā)員的平均薪水(React 和 Backbone 是庫(kù),而不是框架):

173939v491pss64ztsuo0g

  當(dāng)然,這僅僅供你了解概況,indeed.com 的估計(jì)數(shù)略有不同。不過(guò),我們可以從這里看到,熟知這些框架的開(kāi)發(fā)員的薪水平均超過(guò) 102000 美元。只有掌握了 JavaScript 才能學(xué)習(xí)這些框架,因而掌握 JavaScript 是一項(xiàng)相當(dāng)有“錢途”的技能。

  再不妨看一下對(duì)掌握這些框架的開(kāi)發(fā)員的需求:

173939narrrpa8i0r0nr1r

  Node.js 是一種后端平臺(tái),如果如果僅僅說(shuō)到前端框架,你能看到 AngularJS 顯然是贏家,需求猛增。因而,如果你想從事前端 JavaScript 開(kāi)發(fā),也許應(yīng)該學(xué)習(xí) AngularJS。

  另一方面,React 是一項(xiàng)相當(dāng)新的技術(shù),所以它仍處于起勢(shì)的階段,可能會(huì)變得更搶手。從 indeed.com 來(lái)看,React 開(kāi)發(fā)員的平均薪水為 117000 美元。

  編程資源

  如果你對(duì)開(kāi)發(fā)界有所了解,那么可能知道得到其他開(kāi)發(fā)員的幫助確實(shí)很重要、很有幫助,如果你打算自學(xué)的話更是如此。

  加入相互幫助的社區(qū)無(wú)疑會(huì)你讓未來(lái)的開(kāi)發(fā)工作變得更輕松。

  StackOverflow

  StackOverflow 是全球廣大開(kāi)發(fā)員使用的***的開(kāi)發(fā)者社區(qū),旨在幫助其他編程員或得到他們的幫助,所以我們自然會(huì)分析一種編程語(yǔ)言有多流行,同時(shí)也會(huì)分析這些語(yǔ)言的相應(yīng)社區(qū)幫助有多大。

  語(yǔ)言的人氣

  從 StackOverflow 上的標(biāo)簽關(guān)注者(tag follower)來(lái)看,我們能看出一種語(yǔ)言在當(dāng)下的總?cè)藲猓?/p>

173939okqabeog0o0q2gal

  我們?cè)诜治鼍蜆I(yè)趨勢(shì)后已經(jīng)知道,Java 和 JavaScript 開(kāi)發(fā)員的需求量***,所以它們的標(biāo)簽關(guān)注者最多也就不足為奇。尤其是,Java 仍是 StackOverflow 中使用最多的標(biāo)簽,不過(guò) JavaScript 似乎很有希望超過(guò)它。

  SQL、Ruby 和 Objective-C 的關(guān)注者數(shù)量最少。由于蘋果發(fā)布了 Swift,Objective-C 在今后幾年可能發(fā)展有限。

  StackOverflow 回答率

  StackOverflow 有一條不成文的規(guī)定:你提出的問(wèn)題得“措辭得當(dāng)”,否則別人懶得回答??紤]到這一點(diǎn),不妨看一下就每種語(yǔ)言而言你的問(wèn)題被回答的可能性有多大:

173939pgnhzz80nwb8wgr0

  從上述信息來(lái)看,雖然較少的 StackOverflow 用戶關(guān)注C、SQL 和C++,但 60% 以上的相關(guān)問(wèn)題得到了回答。那些懂行的人可能認(rèn)為,C和 C++ 是高級(jí)語(yǔ)言,這意味著提問(wèn)題的用戶可能在編程方面比較有經(jīng)驗(yàn),知道如何以更適當(dāng)?shù)拇朕o提問(wèn)題。另一方面,SQL 并不用來(lái)構(gòu)建應(yīng)用程序。

  值得一提的是,StackOverflow 上的 Python 專家非常樂(lè)于助人。誰(shuí)都知道初學(xué)者正確地提問(wèn)題有難度;如上所述,Python 常常是推薦初學(xué)者上手的語(yǔ)言。不過(guò),盡管如此,盡管是一種比較受歡迎的語(yǔ)言,Python 在 30 天內(nèi)的回答率仍超過(guò) 60%。(Python 的頭號(hào)回答者 Martijn Pieters 也是 Codementor 編程教練。)

  另一方面,雖然 PHP 是一種受到廣泛關(guān)注的語(yǔ)言,卻是回答率***的語(yǔ)言之一。這意味著,許多人在提 PHP 方面的問(wèn)題,但不是很多人的問(wèn)題得到了回答。

  Github

  一旦你從事開(kāi)發(fā)工作,最終會(huì)明白:盡量***為你自己的項(xiàng)目使用現(xiàn)有的解決方案。你通常可以從開(kāi)源項(xiàng)目得到現(xiàn)有解決方案,而 Github 就是***去處。用戶可以啟動(dòng)自己喜歡的項(xiàng)目,項(xiàng)目的星數(shù)越多,它可能越有用。

  因而,分析來(lái)自 Github 的數(shù)據(jù)后,我們還能確定使用不同類型的語(yǔ)言開(kāi)發(fā)項(xiàng)目的相對(duì)容易程度。我們還了解了一種語(yǔ)言在多快地推出創(chuàng)新的新技術(shù)。言歸正傳,下面這個(gè)簡(jiǎn)單圖形可以表明 Github 流行項(xiàng)目的分布情況:

173940vdl9z6d4g326zf64

  很顯然,JavaScript 是最耀眼的新工具,即使你不考慮所有的風(fēng)格指南和教程。眾所周知,JavaScript 是一種發(fā)展極快的語(yǔ)言,就框架和新技術(shù)而言流失率很高,以至于開(kāi)發(fā)員可能覺(jué)得難以跟上 JavaScript 不斷創(chuàng)新的步伐。此外,除了 Node.js 平臺(tái)外,JavaScript 主要用于前端開(kāi)發(fā),所以它與 Ruby、Python、Java 和 PHP 之類的其他后端語(yǔ)言并不直接“競(jìng)爭(zhēng)”。有鑒于此,難怪 JavaScript 與其他編程語(yǔ)言之間會(huì)存在如此大的差距。

  另一方面,Ruby 和 Objective-C 也有許多開(kāi)發(fā)工具和資源。有意思的是,我們?cè)?StackOverflow 比較中可以看出,這兩種語(yǔ)言都不如 Java 之類的語(yǔ)言來(lái)得流行,但開(kāi)發(fā)員通常覺(jué)得開(kāi)源項(xiàng)目更有用。如果你仔細(xì)看一下用每種語(yǔ)言編寫的總體項(xiàng)目,這對(duì) Objective-C 來(lái)說(shuō)尤為如此:

173940zzktdxtyk9bdxktv

  此外,用C/C++編寫的大多數(shù)開(kāi)源項(xiàng)目并非面向C/C++開(kāi)發(fā)本身――它們就是為了幫助普通開(kāi)發(fā)而編寫的工具(比如說(shuō),最常用的 Python 解釋器是 CPython,它是用C編寫的)。正如在編程語(yǔ)言引言部分中提到,C/C++用來(lái)開(kāi)發(fā)系統(tǒng)應(yīng)用程序,所以 Github 上的開(kāi)源項(xiàng)目是系統(tǒng)應(yīng)用程序有其道理。不過(guò),你可以從開(kāi)源項(xiàng)目中學(xué)到好多東西。

  ***,盡管是一種廣泛使用的語(yǔ)言,但 PHP 在可用資源方面處于落后。至于C#,微軟并不以開(kāi)源做法出名。

  各種編程語(yǔ)言的前景

  一種編程語(yǔ)言在未來(lái)有多重要?從目前已了解的趨勢(shì)來(lái)看,我們可以得到下列結(jié)論:

  JavaScript

  毫無(wú)疑問(wèn),JavaScript 只會(huì)變得越來(lái)越流行,尤其是鑒于它可用于后端開(kāi)發(fā),甚至有可能構(gòu)建原生移動(dòng)應(yīng)用程序(通過(guò) React Native)。JavaScript 繼續(xù)以相當(dāng)快的步伐獲得更多的工具和更新版,所以可以預(yù)計(jì)它在將來(lái)仍會(huì)極其重要。

  Ruby

  初創(chuàng)公司鐘愛(ài) Ruby on Rails。Airbnb、Twitch 和 Hulu 等許多知名網(wǎng)站都是用 Rails 構(gòu)建的,這意味著它們會(huì)需要 Ruby 開(kāi)發(fā)員。此外,由于開(kāi)發(fā)員以使用 Rails 為樂(lè),又很容易上手,Rails 會(huì)繼續(xù)受到編程新手們的追捧。

  話雖如此,強(qiáng)勢(shì)崛起的 Node.js 肯定會(huì)對(duì) Ruby on Rails 的人氣有所影響――Node.js 在 Github 上已經(jīng)趕超 Rails。雖然這并不絕對(duì)表明 Node.js 會(huì)趕超 Rails,但是我們應(yīng)該指出,幾年前,Rails 同樣趕超了 Python ***的后端開(kāi)發(fā) Web 框架 Django,而 Rails 的星數(shù)多過(guò) Django。

  此外,“同構(gòu)”(isomorphic)應(yīng)用程序這股新趨勢(shì)可能會(huì)影響 Rails 的采用,因?yàn)閾?jù)說(shuō)這種開(kāi)發(fā)方法可改善 Web 應(yīng)用程序的性能。同構(gòu)應(yīng)用程序基本上需要在 Node.js 平臺(tái)上運(yùn)行,這個(gè)平臺(tái)是用 JavaScript 編寫的。只要精通一種語(yǔ)言(JavaScript)的好處也許會(huì)讓一些潛在的新手不學(xué) Ruby。谷歌的 Go 也是得到一些人關(guān)注的另一種后端語(yǔ)言。

  然而,由于 Rails 繼續(xù)經(jīng)常得到更新版,它在一段時(shí)期內(nèi)仍然很重要,尤其是由于它有一個(gè)忠誠(chéng)的社區(qū),成千上萬(wàn)的實(shí)用工具有助于簡(jiǎn)化開(kāi)發(fā)工作。因而,盡管人氣下降,但 Ruby 仍會(huì)堅(jiān)守地盤。

  Python

  Python 頗受學(xué)術(shù)研究人員和數(shù)據(jù)科學(xué)家的歡迎;如前所述,許多學(xué)校選擇通過(guò) Python 讓初學(xué)者學(xué)習(xí)編程知識(shí)。這意味著,Python 會(huì)繼續(xù)穩(wěn)步發(fā)展,依然很重要。因此,雖然 Python 不會(huì)像 JavaScript 那樣迅猛發(fā)展,或者在人氣和需求方面迎來(lái)同樣的迅猛增長(zhǎng),但是它繼續(xù)很強(qiáng)大――不用說(shuō),谷歌是建立在 Python 上的。

  PHP

  這幾年來(lái),后端開(kāi)發(fā)趨勢(shì)一直離 PHP 漸行漸遠(yuǎn),可是世界上 80% 的網(wǎng)站仍是用 PHP 構(gòu)建的,這畢竟是一種為 Web 設(shè)計(jì)的語(yǔ)言。

  不過(guò),如果你上網(wǎng)搜索一下初學(xué)者應(yīng)該學(xué)哪種編程語(yǔ)言,會(huì)發(fā)現(xiàn)開(kāi)發(fā)員一般不推薦學(xué) PHP。實(shí)際上,許多開(kāi)發(fā)員顯然很討厭它。

173940gicc319ck3k3k9x3

  PHP 社區(qū)在竭力擺脫名聲欠佳的形象,為此推出了新的準(zhǔn)則,教人們?nèi)绾握_編寫 PHP 代碼,并開(kāi)發(fā)了新工具,但總的來(lái)說(shuō),截至 2015 年,PHP 的未來(lái)似乎相當(dāng)停滯不前(至少在美國(guó)是這樣)。

  Java

  安卓對(duì)于 Java 繼續(xù)是***的編程語(yǔ)言起到了很大的推動(dòng)作用,而大多數(shù)企業(yè)也喜歡 Java,因?yàn)樗容^穩(wěn)定、比較容易擴(kuò)展。

  隨著 Spark(使用 Scala 語(yǔ)言)和 Cassandra(支持其他語(yǔ)言)這兩種大數(shù)據(jù)管理框架日漸崛起,很難說(shuō) Hadoop 保持***的大數(shù)據(jù)管理框架這個(gè)頭號(hào)還會(huì)多久,不過(guò)考慮到大企業(yè)通常不太愿意求變,Hadoop 不會(huì)消失。Java 編程語(yǔ)言同樣如此。

  因此,在未來(lái)幾年,Java 會(huì)依然很強(qiáng)大,將是最重要的編程語(yǔ)言之一。

  Objective-C

  由于蘋果發(fā)布了 Swift,Objective-C 只用于蘋果產(chǎn)品,預(yù)計(jì) Objective-C 在將來(lái)不會(huì)繼續(xù)流行。不過(guò),這并不意味著你在今年不該學(xué) Objective-C,因?yàn)榇蠖鄶?shù)面向 iOS 開(kāi)發(fā)的開(kāi)源項(xiàng)目仍是用 Objective-C 編寫的。通常來(lái)說(shuō),使用你不了解的語(yǔ)言可不是什么好主意。

  C

  相比其他編程語(yǔ)言,C相當(dāng)?shù)图?jí),但由于它是操作系統(tǒng)的通用語(yǔ),仍會(huì)繼續(xù)流行,因?yàn)樵S多開(kāi)發(fā)工具是用C編寫的,Linux 也是用C編寫的。

  SQL

  SQL 是數(shù)據(jù)庫(kù)管理員幾乎普遍知道的語(yǔ)言。曾經(jīng)一度,隨著 MongoDB 和 Redis 等 NoSQL 服務(wù)大行其道,non-SQL 使用大數(shù)據(jù)計(jì)算平臺(tái)(比如 Hadoop、Spark 和 Cassandra),SQL 似乎淪為邊緣化。許多人哀號(hào) SQL 將消亡。

  顯然不再是這樣。因而,連 NoSQL 也不得不將自己定位成“不只是 SQL”(Not Only SQL)。

  由于大數(shù)據(jù)的興起,加上管理大數(shù)據(jù)有難度,SQL 比以往更炙手可熱(你已經(jīng)從就業(yè)趨勢(shì)中知道這一點(diǎn))。谷歌最近也更新了其 BigQuery 服務(wù),所以現(xiàn)在每秒每張表最多能消化吸收 100000 行,而 BigQuery 就使用 SQL。自版本 1.3 以來(lái),Spark 也有 Spark SQL 模塊。

  總之,SQL 再次體現(xiàn)其重要性,因?yàn)楣芾恚ú皇谴鎯?chǔ))大數(shù)據(jù)離不開(kāi)它。因而,不僅 SQL 無(wú)所不在,可以說(shuō) SQL 在未來(lái)一段時(shí)間會(huì)繼續(xù)很重要。

  C++

  從性能和功能方面來(lái)看,C++仍被認(rèn)為是***大的語(yǔ)言(即使相比 Rust),它在某些領(lǐng)域可能會(huì)繼續(xù)很重要,比如需要高性能的(比如游戲引擎)。***標(biāo)準(zhǔn)(C++14)的重大修訂版預(yù)計(jì)會(huì)在 2017 年發(fā)布,所以它仍是一種不斷發(fā)展的語(yǔ)言。

  將來(lái),Rust 在系統(tǒng)編程的一些方面有可能會(huì)取代C++,因?yàn)?Rust 旨在能夠開(kāi)發(fā)出比 C++ 更安全的軟件。此處(https://www.codementor.io/rust/tutorial/steve-klabnik-rust-vs-c-go-ocaml-erlang)進(jìn)一步介紹了 Rust 與其他語(yǔ)言相比如何。眼下也是學(xué)習(xí) Rust 的大好時(shí)機(jī)。

  C#

  在過(guò)去,局限于微軟平臺(tái)和作為閉源語(yǔ)言對(duì) C# 很不利,但是 Mono 基本上解決了那些問(wèn)題(不過(guò) Mono 存在性能問(wèn)題,最近的更新版有所改進(jìn))。

  用過(guò) C# 的開(kāi)發(fā)員似乎很喜歡 C# 編程語(yǔ)言,所以它有強(qiáng)大的社區(qū)。不用說(shuō),C#是 Unity 3D 的主要語(yǔ)言,這種頗受歡迎的游戲引擎還可以用在 iOS 和 Linux 等操作系統(tǒng)上。

  關(guān)于這一點(diǎn),C#在美國(guó)之外的國(guó)家(比如英國(guó))也比較受歡迎,用于企業(yè)開(kāi)發(fā)。很顯然,微軟會(huì)讓 C# 存活一陣子,確保它對(duì) .NET 平臺(tái)來(lái)說(shuō)很重要。

  結(jié)束語(yǔ)

  編程初學(xué)者應(yīng)該學(xué)習(xí)哪種語(yǔ)言?很顯然,如果你想從事 Web 開(kāi)發(fā),免不了要學(xué)習(xí) JavaScript,不管你喜不喜歡它。

  此外,如果你想挖掘網(wǎng)站分析數(shù)據(jù),或者你有興趣成為數(shù)據(jù)科學(xué)家,那么學(xué) Python 這種語(yǔ)言很不錯(cuò)。如果你想供職于大企業(yè),那么 Java 是不二的選擇。如果你對(duì)構(gòu)建應(yīng)用程序其實(shí)不是很感興趣,而對(duì)就業(yè)機(jī)會(huì)比較有興趣,那么 SQL 可能是不錯(cuò)的起點(diǎn)(如果你喜歡數(shù)學(xué)更是如此)。

  總之,你在今年應(yīng)該學(xué)習(xí)哪種編程語(yǔ)言最終將取決于你想要做什么。

責(zé)任編輯:王雪燕 來(lái)源: www.199it.com
相關(guān)推薦

2015-08-17 09:27:06

編程語(yǔ)言需要學(xué)習(xí)

2015-07-07 10:52:46

RedMonk編程語(yǔ)言

2016-01-20 10:15:56

編程語(yǔ)言排名圖解

2020-02-13 09:00:00

編程語(yǔ)言JavaKotlin

2020-07-03 08:00:19

編程語(yǔ)言JavaPython

2020-12-18 11:32:45

編程語(yǔ)言JavaPython

2015-12-24 17:50:35

數(shù)據(jù)安全安全事件數(shù)據(jù)泄露

2015-08-17 09:29:20

最熱門編程語(yǔ)言薪資分析

2016-01-04 11:27:47

2015-07-23 09:33:47

熱門編程語(yǔ)言人氣

2015-05-14 10:48:39

編程語(yǔ)言排行榜Visual Stud

2015-12-28 15:18:31

2015-12-11 16:56:20

2021-05-20 10:17:59

編程語(yǔ)言javaPython

2015-08-07 11:02:45

TIOBE編程語(yǔ)言排行榜

2015-04-14 14:37:06

編程語(yǔ)言4月編程語(yǔ)言排行

2016-01-05 14:58:13

編程語(yǔ)言排行榜Java

2016-01-14 10:05:36

開(kāi)源前端框架TOP20

2015-10-09 10:30:38

TIOBE編程語(yǔ)言排行榜

2015-01-07 14:01:21

編程語(yǔ)言排行榜
點(diǎn)贊
收藏

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