99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁CDA發(fā)布沖擊年薪百萬前,11大編程語言薪資排行榜你了解嗎
沖擊年薪百萬前,11大編程語言薪資排行榜你了解嗎
2017-09-01
收藏

沖擊年薪百萬前,11大編程語言薪資排行榜你了解嗎

編程語言有很多,但并非每一種的需求或工資都相同。人工智能和機(jī)器學(xué)習(xí)走熱,讓 Python 從眾多編程語言中脫穎而出。

本文將綜合各種信源,比較不同編程語言在美國市場的相關(guān)薪資水平、人氣和前景,為你提供一些參考,大量統(tǒng)計(jì)數(shù)據(jù)襲來,你準(zhǔn)備好了嗎?

有這樣一個問題,使用空格和使用 Tab 的程序員誰掙得更多?你別說,還真有人做了統(tǒng)計(jì):

圖1:根據(jù) 2017 年 Developer Survey 調(diào)查 12,426 名全職開發(fā)人員

由上圖可知,使用空格(紅線)的人薪資比使用 Tab 的更多,使用空格的開發(fā)人員,工資中位數(shù)為 59,140 美元,而使用 Tab 的開發(fā)人員的工資中位數(shù)為 43,750 美元。

使用空格的程序員比使用 Tab 的掙更多!

上面這個調(diào)查 Developer Survey [1]是面向全球進(jìn)行的,而且不同的國家之間開發(fā)人員對空格和 Tab 的偏好差距并沒那么大——實(shí)際上,根據(jù)這份調(diào)查,不同國家和地區(qū)的程序員使用兩者的情況差不太多。

圖2:不同國家和地區(qū)開發(fā)人員對空格、Tab 的偏好差距并不太大

2017 年 Developer Survey 調(diào)查了 12,426 名全職開發(fā)人員,來自美國、印度、英國、德國、加拿大和其他地區(qū)。紅條、綠條和藍(lán)條分別表示更愛用空格、Tab 和兩者差不多。

那么,收入之間的差距可能來自于這些開發(fā)人員所使用的編程語言,比如說,移動端開發(fā)人員更喜歡使用 Tab,而 DevOps 開發(fā)人員更常使用空格。

于是,Developer Survey 調(diào)查又統(tǒng)計(jì)了開發(fā)人員的工作種類(比如是前端開發(fā)還是圖形設(shè)計(jì))和他們使用的語言,薪資情況如下:

圖3:使用 Tab 的開發(fā)人員的薪資中位水平

這是個有趣的結(jié)果,但并不是決定性的。但是,有一個不可否認(rèn)的事實(shí)——編程語言的種類有很多,并非每一種的需求或工資都相同。

在本文中,你將看到幾種主要編程語言的:


  • 工作機(jī)會。

  • Github 流程程度及變化。

  • 編程語言介紹(為想要學(xué)習(xí)編程的讀者準(zhǔn)備)。

薪資排行 & 工作機(jī)會

在美國,軟件工作崗位在線招聘數(shù)量從 2007 年到 2012 年增長了 31%,比總體工作崗位增速快了 3 倍。

美國勞工統(tǒng)計(jì)局估計(jì),軟件開發(fā)人員的工作從 2012 年到 2022 年將以 22% 的增幅繼續(xù)增長。這里有個數(shù)字,2016 年 5 月,軟件應(yīng)用程序開發(fā)員薪資的中位數(shù)為 100,080 美元。

使用國外招聘網(wǎng)站 Indeed.com 上招聘廣告的數(shù)據(jù),我們可以將編程語言的薪資水平劃分為 9 檔:

基于這個結(jié)果,Ruby/Ruby on Rails 看起來會讓你掙得最多,而 Python,C++,iOS 和 JavaScript 也是體面的選擇。如果薪資是你的主要關(guān)注點(diǎn),么也許 C,PHP 和 SQL 不是最理想的選擇……

平均薪資水平可能會受諸如需求(有多少招聘職位)、供應(yīng)(有多少開發(fā)人員了解語言)和經(jīng)驗(yàn)(資深開發(fā)人員自然掙得比初級開發(fā)人員多)等許多因素的影響,我們有必要深入了解這些因素,然后才下定論。

工作需求

根據(jù)你熟悉的編程語言找到工作的可能性有多大?以下是來自 Indeed.com 的工作趨勢:

可以看到,C,SQL,Java 和 JavaScript 在招聘啟事中經(jīng)常被提到,而 C#,C++ 和 Python 也是表現(xiàn)不錯的語言。

另一方面,如果你的目標(biāo)是在創(chuàng)業(yè)公司工作,那么可能 Indeed.com 的工作趨勢不是你應(yīng)該參考的最佳指標(biāo)。我們找到了 AngelList 網(wǎng)站,這里有更多美國初創(chuàng)公司發(fā)布的職位,來看看基于 AngelList 的軟件開發(fā)人員需要的編程技巧:

再一次地,JavaScript 高居榜首。但是,美國創(chuàng)業(yè)公司似乎更喜歡 Python 和 Java,對這兩者的需求超過了 Ruby(兩年前 Ruby 最受歡迎),PHP,C 或 C#。

供應(yīng)情況

我們再來看開發(fā)人員這邊,根據(jù)網(wǎng)站 Codementor 的數(shù)據(jù)(Codementor 是一個比較大的程序員交流網(wǎng)站,用戶在注冊時會填寫自己使用的語言,因此數(shù)據(jù)在一定程度上可以反映開發(fā)人員掌握的編程語言):

當(dāng)然,這個結(jié)果并不能準(zhǔn)確反映實(shí)際市場的情況,但可以作為參考。例如,雖然移動應(yīng)用業(yè)務(wù)已經(jīng)蓬勃發(fā)展了一段時間,但 Objective-C 專家仍然很少。由于 Objective-C 開發(fā)人員供應(yīng)不足,他們的薪資自然相對更高。

另一方面,PHP 在勞動力中的供應(yīng)量很大,因此雇主有更多的選擇,在薪資方面議價能力更強(qiáng)。同時,市場對 PHP 開發(fā)人員的需求也不如 Java,SQL 或 JavaScript 那么多。 因此,PHP 開發(fā)人員普遍收入較少。這個情況也體現(xiàn)在了我們文章一開始的那張圖里面(參見圖2)。

JavaScript 是個很特殊的例子。盡管供應(yīng)量最大,但 JavaScript 開發(fā)人員并不處于薪水層的底線。

薪資范圍

現(xiàn)在,了解每種語言的需求和供應(yīng)情況,我們再來看看根據(jù)招聘廣告的薪資信息,你能得到的潛在工資。下面的數(shù)據(jù)來自 gooroo.io,根據(jù)每條招聘啟事給出的薪酬范圍取了平均數(shù):

懂 Ruby,C++ 或 Java 的開發(fā)人員看上去起始工資更高。Python 和 Ruby 開發(fā)人員的薪資潛力最大,這可能意味著好的 Ruby/Python 開發(fā)人員市場缺口相對較大。

更多人轉(zhuǎn)而使用 Python

看各大語言前景,以及 Github 過去 16 年編程語言遷徙:更多人轉(zhuǎn)而使用 Python。

接下來,我們可以看看各種編程語言的前景。

一種編程語言將來的發(fā)展前景如何?首先,這在很大程度上取決于其社區(qū)的發(fā)展,因?yàn)樾迈r血液/采用率是使語言受歡迎的保障。因此,讓我們來看看人們最感興趣的語言是什么:

圖4:根據(jù)谷歌搜索,2016 年使用 Python 的興趣大增

其次,Github 的項(xiàng)目數(shù)量能夠從一定程度上體現(xiàn)出語言的流行程度。

其中,星級超過 1000 的項(xiàng)目排行如下:

同時,我們還需要注意——開發(fā)人員或許有過這樣的體驗(yàn),在掙扎完成第 N 個艱難晦澀的項(xiàng)目后,心想:“我可以用這種語言做這件事,但為什么不換種語言更加愉快地工作呢?”

分析了 4500 萬 GitHub 用戶、393 種不同的語言以及 10 TB 的源代碼后,Waren Long 在博客 sourcegeybsqlxm7mc 發(fā)表博文,用詳盡的數(shù)據(jù)和科學(xué)的方法展現(xiàn)了過去 16 年 Github 用戶編程語言的大變遷(也就是從一種語言換到另一種語言的情況)。

使用 5 種最流行的語言(Java,C,C ++,PHP,Ruby)其中一種的開發(fā)人員,最有可能用切換到 Python,平均有 24% 的機(jī)率。

再來看一個更直觀的圖:

過去 16 年,Python 和 Java 逐漸取代了 C 語言。

篇幅有限,我們這里就直接看結(jié)果了。要知道更詳細(xì)的信息,可以訪問參考資料 3。

編程語言介紹

Python 在 2014 年成為美國高校入門課程最受歡迎語言,最后,為了想要學(xué)習(xí)編程語言的讀者,我們簡要介紹一下各種編程語言。

動態(tài)語言(Dynamic Languages)

動態(tài)語言通常更容易讓初學(xué)者學(xué)習(xí),因?yàn)樗鼈冹`活而有趣。你可以從頭開始快速構(gòu)建一個應(yīng)用程序,需要的代碼數(shù)量較少,并且沒有硬性規(guī)則。

由于動態(tài)語言通常是非常高級(high level)的語言,所以你會花更少的時間糾結(jié)細(xì)節(jié),更多的時間學(xué)習(xí)編程概念,這也是動態(tài)類型的語言受初學(xué)者歡迎的一個原因,初學(xué)者一般都會因能夠構(gòu)建事物和快速看到結(jié)果得到反饋而受到鼓舞。

JavaScript

不要與 Java 混淆了,JavaScript 是主要用于前端開發(fā)的客戶端腳本語言。JavaScript 在所有瀏覽器中都兼容,用于創(chuàng)建交互式 Web 應(yīng)用程序,通常是通過諸如 jQuery 和前端框架(比如 AngularJS,Ember.js,React 等)的庫來創(chuàng)建。

JavaScript 也可以通過 Node.js 平臺用作服務(wù)器端語言。過去兩年來,Node.js 開發(fā)社區(qū)已經(jīng)有了很大的發(fā)展,現(xiàn)在你可以在這里找到很多資源。你還可以通過使用諸如 phonegap 這樣的框架,用 JavaScript 構(gòu)建混合移動應(yīng)用程序。

Facebook 的 React Native 能讓你使用 JavaScript 構(gòu)建本地移動應(yīng)用程序。不過,JavaScript 的難度很高,因?yàn)樗菬o類型的語言,因此很難調(diào)試。也有靜態(tài)類型的版本,比如 Microsoft的 TypeScript 或 JSX,在 React 上使用。

Ruby

有了 Ruby,開發(fā)人員可以很開心地工作。Ruby 的流行得益于 Ruby on Rails 框架,Ruby 與英語很類似,而 Rails 框架(是全棧 Web 框架)有“開箱即用”的工具,讓開發(fā)工作變得簡單。因此,很多人會建議你首先學(xué)習(xí) Ruby。

Ruby 主要用于后端開發(fā),一些常用大網(wǎng)站,比如 Airbnb,Shopify,Bloomberg,Hulu,Slideshare 都是使用 Ruby on Rails 構(gòu)建的。

Python

Python 是另一種強(qiáng)烈推薦初學(xué)者的學(xué)習(xí)語言,Python 也是美國頂尖大學(xué)最受歡迎的入門級介紹語言。開發(fā)人員使用 Python 構(gòu)建桌面應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,Python 也是數(shù)據(jù)挖掘的好工具。

此外,Python 在科學(xué)計(jì)算,數(shù)據(jù)分析和生物信息學(xué)的學(xué)術(shù)界尤其受歡迎。Google,Dropbox,Pinterest,Instagram,Reddit,BitTorrent,Civilization IV 等都是用 Python 構(gòu)建的。

不僅如此,Python 從 2014 年起就成為美國頂級高校入門級課程教學(xué)語言(Introductory Teaching Language):

下面是部分美國頂級高校計(jì)算機(jī)相關(guān)課程使用編程語言列表:

圖5:美國頂級高校入門級課程使用編程語言的情況

在這里僅列出了部分高校,更完整的表單參見參考資料 4 的網(wǎng)頁。

PHP

PHP 是一種服務(wù)器端腳本語言,通常被認(rèn)為是對初學(xué)者友好的。理解 PHP 代碼要做什么比較容易,因此 PHP 很容易學(xué)。

大多數(shù)網(wǎng)站都是用 PHP 構(gòu)建的,因?yàn)檫@種語言是專門針對網(wǎng)絡(luò)的。Facebook,維基百科,Yahoo!, Tumblr,Wordpress 等都是用 PHP 構(gòu)建的。

靜態(tài)語言

使用靜態(tài)類型的語言構(gòu)建的應(yīng)用程序有更高的可擴(kuò)展性、穩(wěn)定性和可維護(hù)性。靜態(tài)語言在通過類型檢查查找錯誤時一般更嚴(yán)格,并且需要更多的代碼來構(gòu)建一個原型。游戲引擎、移動應(yīng)用和企業(yè)級后端通常使用靜態(tài)類型的語言構(gòu)建。

Java

作為通用語言,Java 用于構(gòu)建 Android 應(yīng)用程序、桌面應(yīng)用程序和游戲。Java也常用作企業(yè)級后端開發(fā)的服務(wù)器端語言——90% 的財富 500 強(qiáng)公司使用 Java。

此外,用于存儲和處理大數(shù)據(jù)的 Hadoop 是基于 Java 的流行框架,Yahoo,F(xiàn)acebook 和 Amazon Web Services 等企業(yè)都在用 Hadoop。

C

C 常用于編程系統(tǒng)軟件,是操作系統(tǒng)的通用語言(lingua franca)。C 幾乎影響了本文中提到的所有編程語言,尤其是 Objective-C 和 C++。所以,如果你知道 C 語言的話,你可能更容易學(xué)習(xí)其他流行的語言。

由于 C 語言需要用更復(fù)雜的代碼來執(zhí)行簡單的任務(wù),所以初學(xué)者如果把 C 語言作為第一語言往往很難保持動力。但是,從長遠(yuǎn)看,C 語言的知識肯定對你程序員的工作有所幫助。

Objective-C

Objective-C 是建立在 C 語言之上的一層,因此是靜態(tài)的。話雖這么說,Objective-C 也可以用于動態(tài)打字。

Apple 的 Swift 是一種靜態(tài)語言,與 Objective-C 兼容,但它的靜態(tài)類型使其更有彈性。Swift 受 Python 啟發(fā)而來,旨在為新手輕松編寫程序,旨在修復(fù) Objective-C 的一些問題。

C++

C++ 是基于 C 語言的一種強(qiáng)大的語言,專為編程系統(tǒng)軟件而設(shè)計(jì),但也被用于構(gòu)建游戲/游戲引擎,桌面應(yīng)用程序,移動應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序。

C++ 功能強(qiáng)大且速度很快,F(xiàn)acebook 用 C++ 已經(jīng)開發(fā)出了好幾個高性能、高可靠性的組件。許多軟件都用 C++ 構(gòu)建,包括 Adobe Systems,Amazon,Paypal,Chrome 等。與 C 語言類似,C++ 通常被認(rèn)為不太好讓初學(xué)者自己學(xué)習(xí)。

所以,如果你決定學(xué)習(xí) C++ 作為你的第一個編程語言,建議與人討論或找一個導(dǎo)師。

C#

C# 用于微軟的 .NET 框架,主要在Microsoft Windows 上運(yùn)行。C# 用于 Web 開發(fā)、游戲開發(fā)和一般 Microsoft 開發(fā)。

此外,Xamarin 一直在開發(fā)一個名為 Mono 的開源項(xiàng)目,該項(xiàng)目旨在將 C# 移植到其他平臺,為 Linux 開發(fā)人員帶來更好的開發(fā)工具。最近,你還可以使用 C# 通過 Xamarin 為 iOS 和 Android 構(gòu)建原生手機(jī)應(yīng)用。

其他

SQL

SQL(“Sequel”)或結(jié)構(gòu)化查詢語言,是用于與數(shù)據(jù)庫通信的查詢語言。雖然 SQL 不能用于構(gòu)建應(yīng)用程序,但它用于管理使用關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDMS)的應(yīng)用程序中的數(shù)據(jù)。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }