浏览器里的老语言:WebAssembly让Klong重获新生

浏览器里的老语言:WebAssembly让Klong重获新生

七月 18, 2026 webassembly array-programming programming-languages developer-tools functional-programming wasm browser-tools klong coding experimentation

想试试新编程语言?先把环境配好再说

你上次心血来潮想学一门新语言是什么感觉?先得下载解释器,然后配置环境变量,还得祈祷它跟你电脑系统和平共处。等这一切搞定,当初那股热情早凉了一半。

要是打开浏览器就能写代码呢?

浏览器成了程序员的游乐场

Klong 就做到了这件事。这是一门小巧的数组编程语言,作者是 Nils M Holm。有人把它的 C 语言解释器编译成了 WebAssembly,再套上一层浏览器端的笔记本界面。就这样——不用装任何东西,不用依赖服务器,只管打开网页开写。

这个笔记本的使用体验有点像简化版的 Jupyter。每个代码格共享解释器的状态,可以单独运行也可以一起跑,写的代码会保存在本地。甚至能导出成 .kg 文件分享给别人。

数组语言为什么还值得学

Klong、J、APL 这些数组语言之所以有一批死忠粉,不是没有道理的。它们能用极短的代码表达复杂的操作。拿判断质数来说:

prime::{&/x!:\2+!_x^1%2}
prime(97)

没有循环,没有索引,没有临时变量。一行代码搞定,数据整体参与运算。

这种思维方式——把操作看成对数据结构的整体变换,而不是一步步指挥计算机做事——能从根本上改变你解决问题的方式。就算你永远不会在正式项目里用它,这种思路迁移过来,也能让你平时写的代码更简洁、更 expressive。

WebAssembly 的功劳

这背后的技术故事挺有意思。本来要把 Klong 移植到 JavaScript,工程量不小。开发者没有重写一遍,而是直接把现有的 C 代码编译成了 WASM。前端只负责把源代码传给解释器,用一个 web worker 来执行代码,这样就算程序跑飞了也不会让浏览器卡死。

这种做法越来越常见了。遗产系统里那些用 C 或 C++ 写的老代码,现在可以直接跑进浏览器,不用推倒重来。那些本来只能装在电脑上的厉害工具,这下人人都能用了。

降低尝试的门槛

对于想了解函数式编程或数组语言的开发者来说,浏览器端的开发环境解决了最大的拦路虎——上手的摩擦。午休时间就能上手试几个例子,翻翻教程,把觉得有用的代码存下来,完全不用先搭一整套开发环境。

这种便利性很重要。想真正理解一门语言为什么招人喜欢,最好的办法是亲自去用,而不是看别人写的文档吹它有多好。

不管你是创业公司在探索新的技术方向,还是开发者想开阔眼界,亦或只是欣赏优雅解决方案的人,这种无摩擦的编程环境都是值得尝试的东西。浏览器里就能跑起来的 Klong 笔记本,就是很好的起点。

有时候,学新东西最趁手的工具,往往就是那个最容易上手的。

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB NL HU IT FR ES DE DA EN