开发漫谈:Go语言究竟能否超越Java?

(原标题:开发漫谈:Go语言究竟能否超越Java?)

根据近年来TIOBE最受欢迎语言排行榜,我们很容易会发现一个现象:Java语言长盛不衰,多次连续获得最受欢迎语言排行榜第一名,对于很多程序员而言,这似乎已经成为一个习惯,Java也顺理成章的成为很多编程人员学习的首选。但是,如今看来,这种定式或将会发生变化。


开发漫谈:Go语言究竟能否超越Java?


为什么这么说呢?从2016年10月的最受欢迎语言排行榜来看,尽管Java仍然位居第一名,但是Go语言以1.67%的速度成为TOP20中增长速度最快的语言,相比而言,Java和C语言则是分别下降了0.74%和6.35%。按照这个发展速度,Go语言登顶最受欢迎语言指日可待。

开发漫谈:Go语言究竟能否超越Java?


2016年10月TIOBE语言排行榜

那么是什么让Go语言的受欢迎度不断上升?Go语言的优势是什么?

1、背景。可能有人认为,我用的是编程语言,完全不依靠于语言背后的背景。那笔者只能说你太天真,一个语言的背景决定了他的发展方向和潜力,这就像一个人的家庭环境一定会对他的发展有影响。

Java是从1990年的雏形到1995年的正式发行已经过去20多年,期间Java的东家从SUN公司辩称甲骨文公司,后来还成为甲骨文与谷歌之间逐力的砝码。

相较而言,Go语言的背景更为清晰可靠,它是Google开发的,同时它也比Java年轻十四年(2009年发布)

2、简约。俗话说“大道至简”,Go语言就是这样一个极为简洁的编程语言。不同于Java,Go语言内嵌了关联数组(也称为哈希表(hashes)或字典(dictionaries)),就像字符串类型一样。

GO语言最初的定位就是互联网时代的C语言,所以,它的基础哲学也来源于C语言,而C语言的成功正是因为它的简单。而简洁的表达方式也会提升程序员的开发效率。

3、并发性好。几年前,要实现并发编程并不是一件容易的事儿,要想完成并发编程要同时了解线程、锁、Semaphore、CPU缓存方式等等,而多核处理器的普及,让编程语言更为注重并发性,而Go语言,可以在一个进程中执行有数以十万计的协程,依旧保持高性能。

4、应用场景符合未来需求。有人猜测,今年10月GO语言增长率如此之高的原因之一是:Docker的普及。如果真是如此,那么GO语言将持续如此高的增长率。除此之外,GO语言适用于服务器编程、 分布式系统、网络编程、内存数据库和云平台,而这些领域正是IT技术未来发展的重要方向。

开发漫谈:Go语言究竟能否超越Java?


开发漫谈:Go语言究竟能否超越Java?


2016年10月TIOBE编程语言排行榜