|本文由好程序员特训营编辑
|作者:好程序员
根据近年来TIOBE最受欢迎语言排行榜,我们很容易会发现一个现象:Java语言长盛不衰,多次连续获得最受欢迎语言排行榜第一名,对于很多程序员而言,这似乎已经成为一个习惯,Java也顺理成章的成为很多编程人员学习的首选。但是很多语言的快速崛起,似乎对Java造成了一定的冲击,尤其是go语言,那么go语言能否超越java呢?
这要从两个方面来说,一个语言所形成的生态,另外一个是语言本身。
从语言的生态来说一旦某个语言在一个领域建立了自己的生态系统那么它的地位几乎很难被撼动了,java语言在大数据、云计算、企业应用方面有了无数的Library、Framework、App,以及会使用这些东西的程序员。撼动这样一个体系无异于连根拔起一颗掺天大树,更聪明的做法应该是再栽一棵树,而不是拔树。类似的情况还有COBOL语言在金融领域、C语言在操作系统内核和嵌入式领域。
从语言本身来说很多程序员喜欢一个语言是因为他的开发效率,语法简洁不罗嗦、坑少不容易犯错误等,或者仅仅是因为看着舒服,但是苦恼的是在特定领域不流行而自己又为这个领域工作。这也不是什么大问题,一个语言转换成另外一种语言或者编译到另外一一个语言所用的VM是很容易的事情。javascript浏览器里唯一的语言坑又很多,所以有无数种语言可以转换成javascript:List of languages that compile to JS·jashkenas/coffeescript Wiki·GitHub,jQuery也可以认为是新的一个语言。对于java来说能编译到jvm的语言也不少,go目前没有成熟的方案,不过未来一定会有,嵌入式领域一直是c/c++的天下,但是美国的好奇号火星探测器里的c代码很多是用python生成的。
相对于java, go还是一个小孩子一样, java已建立了一个完善全面的生态系统,而go这个还在推广的语言现在说要撼动java的地位暂时还是不可能的。
一个语言如果能建立起一个生态系统,有很多开发者使用它,用它开发了很多好用的库/包/应用,那这个语言就是成年了,于是这个语言就像滚雪球一样,越来越好. java已是这一块的老大, go任重而道远。
如果有人用golang写一个hadop或比hadoop更牛B的东西,相信基于golang的大数据处理也会有一定的用户量.但有人写吗?就算写出来了谁愿意做吃螃蟹的人呢?当前无论是学术界还是企业对hadoop的研究都很多,很多企业已经基于hadoop做了很多工作,难道在可以用hadoop的情况下还会尝试一个不确定的东西吗?
而如果真能用golang写android,我相信它的推广也是个问题, java已经建立了一个生态系统, golang再去革java android的命,除非你有足够的理由让我做出这个让步.千万别说java性能低。
语言不是重要的,而基于一个语言的生态足够让一个语言改变一个世界!
所以,我认为对于golang,我们不要用它重复造其它语言已经做出的轮子,要做新的东西,这样才会有人去尝试,去改进。
要想革java,不要模仿它,必须要找到golang适合的领域,做出新的有用的东西,不然任何说golang的并行,性能高都是浮云!
所以所谓“替代”未必是旧的东西被推翻然后建立新的体系,而是旧的的东西自己变成了新的体系。
以上为好程序员的看法,你又是怎么看的呢?欢迎评论区留言
欢迎关注【“好程序员”微信公众号】毕业工资不过万,不收学费,极致高薪,最强保障——
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)