大家好,我是投稿的网友草莓。
Go 语言已经开源 10+ 年,从高的关注度,再到云原生时代引爆学习 Go 的浪潮,再到现在的数年后。
其搜索热度和 TIOBE 排名基本维持如下:
最新的排名第是第 11 名。
以往我在网上常常看到大家讨论的 Go vs Java,大家基本都是从技术的角度分析,对比两者的各类成本、特性,孰强孰弱。技术角度上决定如何选型、语言的优劣势等。
这篇文章会抛开单纯技术层面来看,直接讲重点内容(短文)。
企业的一些要求
最近几年接触各类国央企的业务多了后,在国内发现了一个影响 Go 语言发展的致命问题或现象。好家伙,人家的预招标、招标书上,就会直接要求需要 Java 语言开发、要能够支持云原生环境等。
原因一:信创,对于这类的替换原则(分级分类逐步推进应替尽替),将会导致这家企业非 Java 语言的投标可能不能入选。
原因二:Java 群体过于庞大,很多有年代的企业系统早期建设、外包都采取了 Java 体系来开发。成熟、便宜、好招人等。
看完你会想这就是非 Java 别来,咱们 Go 能不能行?怎么 Java 就没问题了?
不能用 Go,因为 Google
如果你是用 Go 语言写的,尴尬的情况就会出现。如果甲方有明确要求,一旦你向甲方解释,并给出对应的语言清单。就会出现一个新的问题:Go 语言是?背景?归属?
或是去搜索。就会发现以下的情况:
又或是:
会出现以下类似的言论:Go 语言是 Google 开发的,如果一旦 ZM 全面脱钩,GitHub 会被封,这门语言也很容易就会被禁止使用。这将会使得 Go 语言在部分国央企私有化的招投标上,直接无法与 Java 系的其他供应商竞争。Go 就被卡脖子了。
尤其是现在行情不好时,企业本身也会受到较大的冲击。对此陷入沉思,抱有较大的挣扎,会思考要不要换。
思考
Go 语言的核心开发团队,大多仍在 Google。Google 为他们提供了工作、薪酬、资源。让这门语言在孵化、成长期不需要遇到太多的生存问题。短时间内,Go 语言不大可能自己开创基金会,因为已经有了金主爸爸。
而我们在国内的进一步应用中,很多会考虑到企业内部的国产化、自主可控、技术体系建设等问题。在 Go 语言试图和 Java 语言分蛋糕时,仍然是会处于相对劣势的一个大坑。
落到现实处,如果利润够大, 这些应用的 Go 开发整体都会被迫转成 Java 开发,届时,你跟不跟?
这是一个值得深思的问题。毕竟今天是 Java,明天可能就是 PHP、C#、C++...讲道理,为什么 Java 就符合要求了?