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

2017年程序員需要掌握哪些技術(shù)?你會幾個?

譯文
云計算
我是非常支持程序員們抱著終身學(xué)習(xí)的態(tài)度的。盡管新型技術(shù)成果不斷出現(xiàn),但對于從業(yè)者而言,打好基礎(chǔ)永遠(yuǎn)更為重要。因此如果大家對以下六項基本技術(shù)方案還不太熟悉,請在2017年到來之前做好準(zhǔn)備。

【51CTO.com快譯】我是非常支持程序員們抱著終身學(xué)習(xí)的態(tài)度的。盡管新型技術(shù)成果不斷出現(xiàn),但對于從業(yè)者而言,打好基礎(chǔ)永遠(yuǎn)更為重要。因此如果大家對以下六項基本技術(shù)方案還不太熟悉,請在2017年到來之前做好準(zhǔn)備。

(注:不管市場如何曲折,如HTML這類內(nèi)功性質(zhì)的技能是不可能很快消失。很多朋友可能會奇怪我為什么沒有把JavaScript列入進(jìn)來。事實(shí)上,如果列入JavaScript,那么React、jQuery等等,或者其他多種軟件包或框架也都需要被列入進(jìn)來,然而這些顯然會在未來幾年中逐步更新?lián)Q代的??紤]到篇幅所限就不多敘述別的知識了。)

 

1.Go語言

今年10月的TIOBE編程語言人氣榜上,Go語言得到了簡單但有力的描述:“谷歌的Go語言幾乎無可匹敵,而這主要是受到Docker等Go語言編寫的容器應(yīng)用方案的大力推動。”

2017年程序員需要掌握哪些技術(shù)?你會幾個?

盡管Go語言最初的目的有實(shí)驗性質(zhì),但Docker以及其它企業(yè)都把它作為自身基礎(chǔ)設(shè)施的有力支柱,而理由則非常簡單:它擁有迅如閃電的編譯與執(zhí)行速度,可以使用簡單方法(Goroutines)支持并發(fā)機(jī)制,并且也為程序員們提供大量選項來構(gòu)建并維護(hù)現(xiàn)有及新型技術(shù)。然而Go語言的好處需要到代碼量達(dá)到一定量之后才能體會出來,比如當(dāng)你遇見一個cpp文件一個小時都編譯不完的時候,你就知道簡化語法增加編譯速度有多重要了。Go同樣面向?qū)ο?,但它不存在類型結(jié)構(gòu)。

以下為Go語言中的“Hello World”編寫方式:

package main import "fmt" func main() { fmt.Println("Hello, World") }

 

2.Rust

與火狐瀏覽器同宗同源的Rust是一類系統(tǒng)編程語言,它運(yùn)行速度極快、不存在段錯誤并且可以保障安全。與Go不同,Rust并不具備垃圾回收機(jī)制(Go的垃圾回收機(jī)制速度很快),因此Rust編程適用于嵌入式系統(tǒng)。

2017年程序員需要掌握哪些技術(shù)?你會幾個?

與Go類似,Rust依賴于代碼分支結(jié)構(gòu)——但Rust更為復(fù)雜。兩種語言都是免費(fèi),并且它們都擁有自己的支持工具生態(tài)系統(tǒng)。Rust博客主頁中的“穩(wěn)定性即可交付性”口號正是Rust的理念所在; 其在RedMonkt及其它編程語言榜單上皆擁有不俗表現(xiàn),其未來發(fā)展自然值得關(guān)注。

下面來看一段出色的Rust代碼示例:

let number = 13; println!("Tell me about {}", number); match number { // Match a single value 1 => println!("One!"), // Match several values 2 | 3 | 5 | 7 | 11 => println!("This is a prime"), // Match an inclusive range 13...19 => println!("A teen"), // Handle the rest of cases _ => println!("Ain't special"), } let boolean = true; // Match is an expression too let binary = match boolean { // The arms of a match must cover all the possible values false => 0, true => 1, }; println!("{} -> {}", boolean, binary); }

 

3.Git

時至今日,每個人都需要使用版本控制系統(tǒng)(簡稱VCS)。VCS實(shí)際上就是一套容納代碼及數(shù)據(jù)的存儲庫。它能夠追蹤變更,并使用開源meld等diff工具進(jìn)行變更查看。

2017年程序員需要掌握哪些技術(shù)?你會幾個?

 

各類VCS的工作原理大體相同。大家需要利用源代碼文件建立一個項目,而后即可隨時對其進(jìn)行檢查、編輯而后確認(rèn)(提交)。

由Linux之父Linus Torvalds編寫的Git是一套分布式VCS,因此其可供團(tuán)隊成員以遠(yuǎn)程方式使用各自的文件進(jìn)行編輯,而后將變更的結(jié)果進(jìn)行合并。如果存在沖突,也就是兩位成員對同一文件提交了不同編輯結(jié)果,Git則會在合并時以高亮方式顯示沖突部分。接著,大家必須手動編輯并修改這些內(nèi)容。從人氣角度講,Git已然所向披靡。

 

4.HTML

在今天探討的四種技術(shù)中,HTML顯然最為簡單。HTML是網(wǎng)頁標(biāo)記語言,是瀏覽器能夠閱讀的語言。只要你寫的東西想要瀏覽器能正確顯示出來,那就要懂HTML。其中的/代表著關(guān)閉標(biāo)簽,而且大多數(shù)HTML標(biāo)簽都利用這種開放標(biāo)簽加/關(guān)閉標(biāo)簽的形式起效。(對于以HTML起始的內(nèi)容,標(biāo)頭可選且為文檔中的不可見部分,而本體則容納可見部分。)

[[179825]]

大多數(shù)其它HTML標(biāo)簽用于實(shí)現(xiàn)布局與文本格式; 其同樣易于使用。盡管HTML的技術(shù)標(biāo)準(zhǔn)已經(jīng)相當(dāng)陳舊,但其仍然被廣泛使用——如果大家尚不了解,請一定找點(diǎn)時間進(jìn)行學(xué)習(xí)。

 

5.Python

如果,只能選擇掌握一種編程語言,那么我的答案是Python。早在互聯(lián)網(wǎng)誕生之前,Basic是每一位開發(fā)者所必須了解的語言選項; 如今Python就是新時代下的Basic。這是一種通用型編程語言,雖然沒人會利用其編寫那些“重量級”應(yīng)用——例如游戲或者操作系統(tǒng)(這類應(yīng)用仍然使用C++)。

2017年程序員需要掌握哪些技術(shù)?你會幾個?

 

Python易于學(xué)習(xí),且使用縮進(jìn)而非大括號標(biāo)記結(jié)構(gòu)。以下代碼來自Python維基詞條:

parents, babies = (1, 1) while babies < 100: print 'This generation has {0} babies'.format(babies) parents, babies = (babies, parents + babies)

Python語言帶有解釋特性,因此大家可以在Python shell中嘗試各種命令丈表達(dá)式。其速度很快,但相比優(yōu)化型編譯語言稍慢一點(diǎn)。它擁有規(guī)模龐大的資源庫,且可通過多種方式實(shí)現(xiàn)進(jìn)一步提速。大家可以使用pypy等替代性方案或者利用Cython將其編譯為C; 如果大家了解C語言,也能夠編寫自己的C、Go或者Rust擴(kuò)展。

Python在科學(xué)家群體中亦大受歡迎。最近推出的英特爾Python(免費(fèi))使得Python成為一種面向機(jī)器學(xué)習(xí)的可用語言,其適用場景包括大數(shù)據(jù)、神經(jīng)網(wǎng)絡(luò)以及其它相關(guān)技術(shù)。英特爾打造的這套發(fā)行版包含超過100套軟件包(NumPy、SciPy等),且專門進(jìn)行了優(yōu)化以使用英特爾MKL及英特爾TBB庫——二者內(nèi)置于其中且可免費(fèi)使用。大部分高強(qiáng)度任務(wù)都可由這些經(jīng)過優(yōu)化的英特爾庫負(fù)責(zé)執(zhí)行。

 

6.Linux

即使大家身為專業(yè)Windows用戶及程序員,Linux同樣值得加以關(guān)注,它能幫助您更快地學(xué)習(xí),它還能使用多種技術(shù)方案。舉例來說,Python、Go以及Rust就更適合在Linux平臺上使用。(要在Windows上進(jìn)行Rust程序編譯,大家需要使用微軟VC++或者M(jìn)inGW——這是一套GNU編譯器與工具集合,專門用于Windows平臺上的開發(fā)與運(yùn)行任務(wù))。

2017年程序員需要掌握哪些技術(shù)?你會幾個?

對于Windows用戶,大家只需要下載免費(fèi)VirtualBox并安裝一套Linux發(fā)行版(我個人推薦Ubuntu 14.04 LTS或者16.04 LTS)即可開始Linux之旅。在此之后,大家即可學(xué)習(xí)Linux,安裝各類編程語言,運(yùn)行本地LAMP(Linux Apache MySQL PHP)Web服務(wù)器甚至嘗試進(jìn)行開發(fā)工作。

 

原文鏈接:

http://insights.dice.com/2016/12/20/5-tested-technologies-master-2017/

原文標(biāo)題:5 Tested Technologies to Master in 2017

原文作者:David Bolton

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

 

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

2018-02-02 16:41:01

程序員編程Web

2011-07-07 14:47:15

PHP

2015-05-27 09:45:59

程序員

2009-06-19 14:38:20

Java程序員

2022-08-30 08:13:30

流程模板定期復(fù)盤數(shù)據(jù)

2012-09-25 09:28:57

程序員

2009-05-21 15:58:12

程序員工作經(jīng)驗職場

2015-07-29 09:39:00

高級程序員階段

2020-09-14 08:47:46

緩存程序員存儲

2018-03-14 09:50:10

阿里巴巴Java程序員

2019-03-27 09:40:49

程序員技能開發(fā)者

2015-04-10 19:37:34

程序員

2018-09-27 16:35:01

程序員編程語言Python

2015-07-28 10:39:34

程序員知識

2011-06-11 20:59:12

程序員

2020-05-06 14:54:59

技術(shù)人工智能大數(shù)據(jù)

2021-01-29 23:28:11

程序員語言開發(fā)

2021-09-30 16:22:34

程序員工具編程

2019-08-21 13:40:50

2009-11-27 13:49:54

點(diǎn)贊
收藏

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