现在是2025年12月,让我们先来看一看当前月份的TIOBE编程语言排行榜:

图:2025年12月TIOBE编程语言排行榜,Go语言位列第15名。
在上面这张图中,我们今天要讨论的主角——Go语言,排在第15位,其占有率与常被戏称为“世界上最好的语言”的PHP相差无几。一个事物如果与“最好的”水平相近,是否意味着它的艺术水准也极高呢?更重要的是,它未来会成为技术主流吗?
从目前的趋势来看,这并非易事。
某种技术或潮流,常常“风起于青萍之末”,但如果它在很多年后仍然停留在“青萍之末”的位置,原地踏步,那就值得思考了。Go并非一门新生语言,它于2007年启动,2009年正式开源,至今已有16年历史。如果它注定要成为主流,如此长的时间跨度理应早已实现。但根据当前排名来看,它似乎已经触及了用户基数的某种“天花板”,前面有Java、C++等历经考验的前辈,后面又有Rust等势头强劲的新秀,Go在开拓新版图、吸引新用户方面面临着不小的压力。
那么,究竟什么是“技术主流”?我们可以从三个具有代表性的事物来观察:首先是Web体系,其次是SQL语言所代表的数据库领域,第三则是如今正热的Transformer架构。
让我们从第三个Transformer架构谈起。
如今,ChatGPT、DeepSeek等大模型和AI应用无疑是技术热点。人们在这些基础模型之上开发新应用、构建智能体(Agent),致力于在各个领域提升效率。而这些大模型的核心内部,普遍采用了Transformer架构。换句话说,我们每天使用的AI能力,其底层大多是由基于相同Transformer架构的Python代码(如PyTorch程序)训练和运行产生的。这也就解释了为何Python能长期稳居排行榜首位——它牢牢抓住了AI时代的核心生产力工具。
第二个主流代表是SQL,即数据库。
有一个广为人知的统计:世界上80%的程序都是商业程序,而它们本质上都是基于数据库的程序。从这个角度看,无论使用Java、C#、Go还是PHP,程序编写的核心目的之一,就是生成并执行SQL指令来操纵数据。以购物流程为例:从数据库读取商品信息展示给用户,将用户订单写入数据库,更新发货状态,记录收货信息……整个流程贯穿始终。因此,大量程序的核心工作可以归结为“增删改查”(CRUD)。程序员无需因此感到悲观,认为CRUD低级。如果CRUD低级,那么从更宏大的视角看,人类的许多活动是否也显得渺小?只要CRUD能支撑现实世界的业务流转,它就有其不可替代的价值。编程语言固然重要,但数据才是核心。越容易与数据库交互、高效操作数据的语言,往往排名越靠前,例如Java和C#。而那些能够用于编写数据库系统本身的语言,如C、C++,也因此占据了重要地位。
第三个主流,就是无处不在的Web体系。
观察当下的应用形态,无论是Windows桌面程序还是手机App,许多实质上是“套壳”应用,其内部依然是Web网页。在桌面端,无论是微信还是钉钉,其内部多采用Electron等框架,用JavaScript、HTML、CSS等Web技术构建。在移动端,React Native、Uni-app乃至各类小程序,其底层逻辑同样是Web技术栈的延伸。
聊完了这三个定义当前技术潮流的主流方向,我们再来审视Go语言:它能在哪个方向上占据主导优势呢?
- Transformer/AI领域:Go能胜任吗?目前这个领域几乎是Python的天下,Go的生态和库支持相对薄弱。
- 数据库操作:Go当然可以操作数据库,但Java、C#等语言在此领域生态更成熟、工具链更完善,相比之下,Go的标准库在某些方面甚至显得有些“简陋”。
- Web体系:Go虽然能用于构建Web后端服务(例如Gin、Echo等框架),但在构建富交互前端或跨平台桌面/移动应用方面,并非其强项,难以撼动JavaScript及其庞大生态的地位。
从以上三个角度进行分析,我们或许能更清晰地判断一门编程语言是否具备成为未来主流的潜质。技术选型总是需要结合具体场景,欢迎在云栈社区与更多开发者交流你的见解。
|