作者 謝恩銘 轉載請注明出處
公眾號「程序員聯盟」(微信號:ProgrammerLeague )
原文:http://www.lxweimin.com/p/d5557ea5378e
內容簡介
- Go語言無懸念加冕
- Go語言為什么這么火
- 打印Go語言吉祥物地鼠
- 歷年年度編程語言
- Go語言學習資源
- Docker學習資源
- 總結
1. Go語言無懸念加冕
TIOBE的官網:http://www.tiobe.com/tiobe-index/
TIOBE開發語言排行榜每月更新一次,依據的指數是基于世界范圍內的資深軟件工程師和第三方供應商提供,其結果作為當前業內程序開發語言的流行使用程度的有效指標。
該指數可以用來檢閱開發者的編程技能能否跟上趨勢,或是否有必要作出戰略改變,以及什么編程語言是應該及時掌握的。
觀察認為,該指數反應的雖并非當前最流行或應用最廣的語言,但對世界范圍內開發語言的走勢仍具有重要參考意義。
2. Go語言為什么這么火
Go語言的大熱和Docker(用Go語言寫成)容器技術大有關系。
其實Go語言并不是很新,從2007年末由Robert Griesemer,Rob Pike,Ken Thompson主持開發,后來加入了Ian Lance Taylor,Russ Cox等人,并最終于2009年11月開源,在2012年早些時候發布了Go 穩定版本1.0。
上面這些人中,有大名鼎鼎的Ken Thompson(肯.湯普森),他和Dennis Ritchie(丹尼斯.里奇)在1971年共同發明了C語言。1973年Ken Thompson和Dennis Ritchie用C語言重寫了UNIX操作系統。2006年,湯普遜進入Google公司工作,與上面這些人共同設計了Go語言。(這種屬于大牛中的大牛,bug般的存在... 實難望其項背誒)
Go語言又被稱為 21 世紀的 C 語言。
因此,Go有C語言的一些特性也不足為奇了。此外,Go語言也有面向對象的特性,有堪比python的開發速度,堪比JAVA的執行速度,能夠直接編譯生成機器碼方便了部署,以及天生的多核并發支持,等等。
除了開發人員名聲在外,又有Google加持之外,Go語言的吉祥物也非常之萌!它是一只地鼠,英語是Gopher(囊地鼠,產自北美的一種地鼠)。在自然界中是這樣的:
這只吉祥物在網上被各種稱為“呆萌”、“可愛”、“蠢萌蠢萌的”,“賤賤的”,而且各種公仔和抱枕也是有的。
參看知乎的這個帖子:哪里可以買到Go語言地鼠吉祥物 ? 就是那只呆呆的藍色小地鼠
據說這只地鼠的形象出自Rob Pike的妻子Renée French之手,源于她若干年前為一款WFMU的T-shirt設計的形象。
大家感受一下:
不知道大家怎么看,我覺得老外發明編程語言或軟件時總會挑一些很呆萌的形象,比如Android的小機器人,PHP的大象,Linux的企鵝,Docker的鯨魚等等,這些吉祥物也讓人們更加容易記住這門編程語言。
3. 打印Go語言吉祥物地鼠
網上有一個很厲害的程序員(https://github.com/fogleman ),開發了一個Go語言的路勁追蹤軟件(https://github.com/fogleman/pt ),可以用來繪制各種圖形,其中就有繪制Go語言吉祥物的:
反正我覺得Go語言的這只地鼠太好玩了,分分鐘想“捏爆”它有木有~
不為什么,光沖這么萌的吉祥物我也要學習Go語言。
4. 歷年年度編程語言
其實2015年,C語言有好幾個月都排在第一名,不過最終統計的時候還是Java勝出。
Go語言原來在2009年也曾獲得年度編程語言稱號。
號稱“世界上最好的編程語言”的PHP在2004年證明過自己,但今年下滑了。
TIOBE的編程語言排行榜并不能說明哪一們語言就一定比其他語言好,它只是展示一個編程技術的大趨勢,給各大公司或個人項目在選擇編程語言時以一定參考。
“認真,你就輸了~”
5. Go語言學習資源
Go語言官網(英語):https://golang.org/
簡易的Go語言入門教程(英語):https://tour.golang.org/
簡書上的GO語言零基礎入門資料整理
實驗樓的Go語言入門演練
菜鳥教程的Go語言課程
6. Docker學習資源
Docker官網(英語):https://docs.docker.com/
Docker官方教程(英語):https://docs.docker.com/engine/getstarted/
Docker 從入門到實踐 一書
菜鳥教程網上的Docker教程
Docker中文網
7. 總結
- 作為程序員,保持與時俱進是非常重要的。既要夯實基本技能,又要不斷學習新技術。這也是為什么我常說程序員這個職業是很有意思的,因為很難找到一個職業,每天都可以學習新東西。所以如果你有(bu)幸(xing)成為一名程序員的話,我就要大大地“恭喜”你啦!可以參看我的以下幾篇文章:
Go語言應該是不錯的,雖然我目前還沒怎么用過,但我有在工作中用過Go語言寫的Docker。我們開發組前不久倒是舉辦了一個小型的Go語言學習課程,花了2個小時來學習Go語言的基礎知識(講師是我們組里的一個同事)。
如果沒有學過Docker,最好花點時間認識一下。Docker還是很有用的,現在我們開發組也用Docker配合Gitlab,Jenkins,SonarQube來鋪設項目的版本控制、測試,編譯,集成,在線演示。
學習新知識從來像現在這么方便,網絡上滿滿的都是免費的好資源。如果你還要去花很高的價錢上什么幾萬元的培訓課,那實在有點可惜了。在家就可以自學,有那錢還不如多旅游什么的。可以參看我的以下幾篇文章:
- 不盲目跟風。今天Go貌似有點火,就一窩蜂都去學習Go語言的。我覺得提升自己的編程硬實力,例如架構能力,計算機技術的了解,編譯原理,等等,是更重要的。語言嘛,只是一個工具而已。
我是 謝恩銘,在巴黎奮斗的軟件工程師。
我創建了程序員聯盟的 知識星球,歡迎加入。
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:「向著標桿直跑」