作者 谢恩铭 转载请注明出处
公众号「程序员联盟」(微信号:ProgrammerLeague )
原文://www.greatytc.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语言的。我觉得提升自己的编程硬实力,例如架构能力,计算机技术的了解,编译原理,等等,是更重要的。语言嘛,只是一个工具而已。
我是 谢恩铭,在巴黎奋斗的软件工程师。
我创建了程序员联盟的 知识星球,欢迎加入。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」