当前位置:首页>python>Python学习【126】:Python与仓颉的“双语言时代”:我为什么一边用着全世界最火的编程语言,一边悄悄学起了华为的“备胎”?

Python学习【126】:Python与仓颉的“双语言时代”:我为什么一边用着全世界最火的编程语言,一边悄悄学起了华为的“备胎”?

  • 2026-10-01 19:30:14
Python学习【126】:Python与仓颉的“双语言时代”:我为什么一边用着全世界最火的编程语言,一边悄悄学起了华为的“备胎”?

一、学前花絮

之前的文章提到过计算机语言特别是python语言的发明、发展过程,了解到前辈为了这个蓬勃发展的IT行业做出了巨大的贡献。也正是因为有了那么多的计算机语言,让我们在做软件工程项目的时候可以针对应用场景选择最好的语言,如同操作工人选择得心应手的工具。
然后当今世界似乎没有那么单纯了,我们习惯了用西方世界的科技产品,但这些年来,似乎不那么顺畅了。那么多的“断供”、“贸易战”,让我们不得不准备“备胎”了。现在已经有了操作系统、数据库、文件编写等方面的国产软件,而计算机语言呢?我只知道有华为仓颉。
那就试一试国产的计算机语言好用不好用吧。

二、Python语言与仓颉语言

2.1Python的火爆与仓颉的诞生:两个时代的故事

打开PyCharm,创建一个.py文件,敲下import numpy、import pandas、import torch——你拥有的不是几行代码,而是全球数百万开发者二十年积累的智慧结晶。
Python为什么能火遍全世界?
答案就藏在它的出身里:Apache开源基金会。这是一个不问出身、只认代码的技术乌托邦。无论你来自美国哈佛还是中国农村,只要贡献了优秀的代码,你的项目就能被全球开发者使用、改进、传播。TensorFlow如此,PyTorch如此,Django亦如此。
这种“全球协作”模式造就了Python今天超过40万个第三方库的庞然生态。从Web开发到量化交易,从生物信息到火箭控制,Python无所不在。2023年,全球编程语言市场规模已达150亿美元,而美国公司主导的Java、Python、C++占据了超过70%的份额。
但2025年7月30日,华为在Gitcode上开源了仓颉语言的核心组件。
这并非又一个“挑战Python”的技术噱头。这是一个战略备胎的正式亮相。
想象一下:你公司所有的核心业务系统都跑在Python上,所有的算法工程师都熟练使用PyTorch。突然有一天,因为某些你无法控制的原因,Python的核心维护者不再向你提供服务,PyPI仓库对你关闭,美国公司的开源许可证不再对你生效——这不是科幻,这是2019年华为经历过的事。
仓颉语言的研发始于2019年,五年沉默,一朝亮剑。它不是要“替代”Python——至少在生态上,十年内都不可能。它是为了确保:当最坏的情况发生时,中国的开发者手里还有一把能用的刀。
这是一场关于“选择权”的战争。

2.2 残酷的现实对比:生态差距是几代人的距离

让我们把情怀放下,看一组冰冷的对比:
坦率地说:现在的仓颉,甚至不配给Python提鞋。
这不是贬低,这是事实。一个编程语言的生命力不在于语法有多优雅、性能有多极致,而在于有多少人用它解决了多少实际问题。Python的40万个库,是几代程序员用三十四年时间、在全世界范围内协作堆积起来的。仓颉即便以十倍速度追赶,也需要十年。
但技术竞争从来不只是比谁跑得快,更是比谁能活下来。
当你在PyCharm里优雅地调试神经网络时,应该意识到:这份优雅,建立在一个你可能从未感激过的全球化协作体系之上。而这个体系,正在被撕裂。

2.3 Python有多火,仓颉就有多难

打开PyCharm,敲下 import numpy as np,一行代码的背后是全世界几十万开发者三十四年的积累。从数值计算到深度学习,从Web后端到自动化脚本,Python像水电一样渗透到数字世界的每个角落。
但2025年7月30日,华为在Gitcode上开源了仓颉语言的核心组件。这条新闻没有像鸿蒙发布那样刷屏,它更像一声低沉的警钟——我们终于开始做“备胎”了。
当我决定体验仓颉时,我以为不过是下载个安装包,敲几行Hello World。可我万万没想到,为了看到那行“Cangjie Compiler: 0.53.18”,我硬生生熬了14个小时。
这14小时让我彻底明白:一门编程语言的诞生,从来不是技术的胜利,而是生态的苦旅。。

2.4 我的“仓颉受难记”

第一关:Windows,再见
仓颉官网写着“支持Windows”,但角落里一行小字刺痛了我:“Python互调功能暂不支持Windows平台”。
我偏不信邪。先开WSL,系统报错 0x80040154——Windows更新损坏了COM组件。修DISM,DISM也挂了;开Windows功能面板,面板一片空白。折腾两小时,我认输了:这台陪了我三年的Windows,已经病入膏肓。
于是装VirtualBox,跑Ubuntu 22.04。切Xorg、调剪贴板、设共享文件夹……等虚拟机界面终于能舒舒服服看代码时,已经凌晨一点。
第二关:镜像站里的“鬼打墙”
官网下载链接慢得像拨号,我转战华为云镜像站。wget 下来一个 .tar.gz,解压时报错“not in gzip format”。打开一看——竟是HTML页面。
原来镜像站的 /cangjie/stable/ 路径下根本没有安装包,只有动态渲染的目录页。wget抓到的只是页面骨架。
换了三四个镜像源,全是HTML。那一刻我几乎崩溃:不是我不努力,是这条路根本不存在。
第三关:LTS 1.0 的“温柔陷阱”
最后用浏览器硬生生打开了官网下载页,终于抓到了真正的安装包:Cangjie-0.53.18-linux_x64.tar.gz。
差点手滑下了旁边的“LTS 1.0”——后来才知道,那个版本主动移除了Python互调功能。官方说这叫“稳定版”,但对我们这些想尝鲜互调的人来说,它就是个阉割版。
版本陷阱比技术难题更致命。 没有社区避坑指南,你根本不知道哪条路是断头路。
第四关:运行时库的“幽灵路径”
解压、设环境变量、cjc --version 成功——我激动得差点叫出声。
然后运行第一个纯仓颉程序:

./pure_cangjie: error while loading shared libraries: libcangjie-runtime.so: No such file or directory

这个错误我再熟悉不过了——LD_LIBRARY_PATH没设对。但诡异的是,网上的教程都说库在 ~/cangjie/runtime/lib,我翻了三遍,没有。
最后用 find 地毯式搜索,才在 ~/cangjie/runtime/lib/linux_x86_64_llvm/ 里找到了它。
官方文档和实际目录结构不一致——这种在新兴项目里稀松平常的事,对于深夜独自摸索的我来说,就是压垮骆驼的最后一根稻草。
第五关:Python互调,那道跨不过去的坎
环境调通后,我迫不及待地写起“仓颉调用Python”的示例。
Python.import——不存在。
PyModule.import——也不存在。
Python.get("__builtins__")——还是没有。
0.53.18的 std.ffi.python 里,根本没有任何能导入Python模块的公开API。
官方文档写的是“未来特性”,可我这个“未来”来早了。
凌晨四点,我对着屏幕上鲜红的 error: undeclared identifier 'PyModule',终于承认:我手上的仓颉,是个只有骨架的半成品。 它能编译纯仓颉程序,能写算法、做工具,但和Python生态的连接,门都没有。

2.5 那行“计数: 1”亮起时,我原谅了所有不完美

放弃了Python互调,我回到纯仓颉的“Hello World”:

dev@ubuntu-dev:~/cangjie$ cat pure_cangjie.cj

main() {

println("我成功安装了仓颉0.53.18!");

for(i in 1..5) {

println("计数:${i}");

}

}

dev@ubuntu-dev:~/cangjie$ cjc pure_cangjie.cj -o pure_cangjie

dev@ubuntu-dev:~/cangjie$ ./pure_cangjie

我成功安装了仓颉 0.53.18!

计数: 1

计数: 2

计数: 3

计数: 4

这五行朴素到寒酸的输出,是我14个小时唯一的战利品。
但那一刻,我没有失望。
因为这一行输出意味着:
  • 我亲手绕过了Windows系统的死亡陷阱
  • 我从无数个死链接里捞出了真正的安装包
  • 我在版本迷雾中精准避开了LTS的暗礁
  • 我用 find 找出了藏在地图角落里的运行时库
这不是“终于装好了”,这是“征服了所有坑”。

2.6 为什么我们还需要仓颉?

你可以说:Python、Java、Go已经够好了,为什么还要造轮子?
2025年,这个问题有了更沉甸甸的答案。断供不是技术问题,是生存问题。 当别人随时可以关掉你依赖的水龙头时,你必须在自家后院打一口井。
但这口井不可能一夜之间喷涌出亚马逊河的水量。仓颉现在的状态,就像一口刚挖到三米深的井——你能看见湿泥,却还尝不到甘甜。
它的标准库贫瘠得像沙漠,工具链处处是断头路,社区连个像样的避坑指南都没有。 我遇到的每一个错误,都只能靠自己在Google废墟里扒拉,或者在 --help 里一遍遍碰运气。
这才是“自研编程语言”最真实的起点:不是高歌猛进,而是举步维艰。

2.7 Python是现在,仓颉是未来——但未来还远

我写下这些文字时,窗外天已大亮。那台Ubuntu虚拟机静静躺在VirtualBox里,桌面上还开着没关的终端,光标停在那行“计数: 4”后面。
我没有删掉它。它就像我硬盘里的一个“技术备胎”——平时不会用,但知道它在,心里就踏实。
这就是仓颉对于中国开发者的意义。
我们不可能在明天就用它替换Python,但我们需要知道:当有一天Python真的不能用了,我们还有另一个选择。它现在还很笨拙,还很稚嫩,但它至少存在。
存在,就是一切的意义。

2.8 结尾:愿你不需要仓颉,也愿它永远不需要被用到

最后,我想对所有在技术自主道路上摸索的开发者说:
如果你只是想高效地完成工作,Python仍是唯一的神。不要为了“国产”而仓颉,就像不要为了爱国而去买一台自己根本不需要的备用机。
但如果你愿意为“可能性”投资一点时间——哪怕只是在虚拟机里装一次仓颉,跑一个Hello World——你就在为中国软件生态的未来增加一分确定性。
我花了14小时,只换来五行输出。但我一点也不后悔。
因为那五行输出证明:当最坏的情况发生时,我们手里还有一把刀。
它现在还很钝,但至少——我们开始磨了。

三、小结

经过了十几个小时的折腾,终于大致明白了华为仓颉这门计算机语言发展现状。用惯了python众多模块、无数开源解决方案,以及由此催生的成熟的技术路径,更加理解国产化计算机语言的真正难点不全在于技术本身,生态环境是那么重要!但无论如何,当今这个世界,似乎没有我们想的那么单纯了,还是要有自己的准备。对于我们个人学习来说,了解就够了,还是要把更多精力投入到python学习中去。
让我们保持学习热情,多做练习。我们下期再见!
(本文所有操作记录均可追溯,无虚构。仓颉版本0.53.18,测试时间2026年2月13日。)

最新文章

随机文章