Go语言“暴走”要取代Java为企业级语言,Sun和甲骨文能答应吗?

我最近因为工作比较忙所以没怎么上网,今天一上来,看到不少QQ好友留言问我有关Go语言的话题,其中有一个问的是“Go有没有可能取代Java成为下一代企业级语言”。对于这个问题,几乎可以肯定——绝无可能。

Go语言“暴走”要取代Java为企业级语言,Sun和甲骨文能答应吗?


首先说一下什么是“企业级语言”,顾名思义,企业级语言是企业开发项目时所用到的语言,而这里说的“企业”并不是小企业、初创企业、科技型企业,而是大型企业、金融级企业,这些企业在今天看来,使用的语言几乎都是Java语言。

为什么Java能够成为这些大型、超大型企业的选择呢?归根结底只有一个原因:Java是一套商业化语言。

试想:假如有朝一日你发达了、成为了名人,这个时候你需要一名自己的私人律师,你是会托隔壁老王帮你介绍个朋友来、还是直接从全世界最著名的律所签下来一个律师?相信绝大多数人都会选择后者,虽然要花钱,但是花了钱就有了合同,这个律师不是你刷脸刷人情请来的,他不能够随随便便终止与你的合作。

编程语言也是如此,在今天的主流语言中,PHP语言是个人发起、社区维护的;Ruby是个人发起、社区维护的;Python也是个人发起、社区维护的;Lua是大学教授发起并维护的……唯有Java语言是由Sun公司发起、如今继由甲骨文公司维护的。虽然从常识上看,PHP也好、Ruby也好,这些语言虽然是开源的、并且维护良好、完全没有死掉的可能性,但并没有任何“商业承诺”在里面。而Java却有着LTS承诺,所以从风控的角度讲,选择Java是最安全、风险可控的。同时如果在开发的过程中遇到了问题,也可以寻求商业帮助,这在其他语言而言并非“有钱就一定能得到支持”。

那么再来看看Go语言,它是2009年由Google推出的语言,虽然也是企业发起的语言,但它比“年轻十多岁”,如果将Java看做可以治国安邦的人才、那么Go在今天才不过是个黄口小儿。无论是成熟度、还是支持度上,都没有Java那么完善。所以如果Go真的要成为下一个企业级语言,至少也要再等待个5-10年才有可能。

最近几年似乎很多新型语言的诞生、发展速度都很快,对于追新的人、技术型公司而言,选择这些语言试玩、追潮并没有问题。但是从稳健的角度讲,有些时候还是选择成熟稳重的语言更稳妥。

Go语言“暴走”要取代Java为企业级语言,Sun和甲骨文能答应吗?

例如苹果公司出的Swift语言、刚刚发布的时候大有代替Objective-C的势头,但是后来情况是怎样的呢?4年推出了四次更新,每一次更新都不是增量、而是近乎于推翻。这对于开发而言实际上是一场灾难——你刚刚斥资研发出来的项目,正在准备上线之际,发现语言升级了,你是跟着升级、还是不跟着升级?跟着升级意味着要重复投资、重构代码;不跟着升级过不了多久所依赖的第三方程序也许就会出现各种兼容问题……

在这样的风险面前,相信任何理智的人和公司,都不会冒然做出激进的选择。

另一方面,新语言并不在计算机学科教育的教学提纲内,这意味着企业招聘到的应届毕业生是不会使用这些新语言的。同时也不会使用上文提到的PHP、Ruby这些语言,对于大学毕业生,他们在学校学习的基本都是C、Java,所以这也是企业进行语言选型的一个考量维度。

综上所述,无论Go最近烧了那阵火,它只是一个科技型语言、并不能够成为企业级语言。如果你希望学一门语言、并且能够有尽可能多的机会就职于大中型企业,那么在今天而言,还是以Java作为首选更为稳妥。


分享到:


相關文章: