代码简洁,
原生可执行。
Caju 是一门简洁的静态类型编程语言,直接编译为 x86-64 机器码,生成 Linux 与 Windows 原生可执行文件,也可编译为 WebAssembly。编译器用 Caju 编写并能自举,还自带测试工具和包管理器。
curl -fsSL https://raw.githubusercontent.com/cajulang/cajulang/main/install.sh | shfn greet(name: str) -> str { return "Hello, " + name + "!"} print(greet("world"))写起来简单,跑起来原生
语法精炼,类型可选。编译器生成小巧的静态二进制文件,无需安装运行时。
看看代码
两个简短的程序,以及它们的输出。更多内容见示例页面。
错误即值
函数同时返回结果和错误,没有隐藏的异常。
fn divide(a: int, b: int) -> (int, error) { if b == 0 { return 0, errors.New("division by zero") } return a / b, nil} for _, d := range []int{5, 0} { q, err := divide(10, d) if err != nil { print("error:", err) continue } print("10 /", d, "=", q)}结构体、方法与接口
一个类型只要拥有接口的方法就实现了该接口,无需任何声明。
interface Shape { area() -> num } struct Rect { w: num, h: num }struct Circle { r: num } fn (r: Rect) area() -> num { return r.w * r.h }fn (c: Circle) area() -> num { return 3.14159 * c.r * c.r } shapes := []Shape{Rect{2, 3}, Circle{1}}for _, s := range shapes { print(s.area()) }与 Go、Rust 和 Python 同台比较
每种语言实现相同的算法,操作顺序也相同。在所有测试中,Caju 都胜过或持平 Go,接近 Rust,并远远领先 Python。
2026 年 11 月测于 AMD Ryzen 7 5700G:取最多 3 次运行中的最佳成绩,包含进程启动时间。Caju 0.3.0、Go 1.27.3、Rust 1.99.1(opt-level=3)、Python 3.12.3。 完整程序与结果见 bench/compare.
HTTP 服务器:Caju + web 对比 Go
同一个 JSON API,分别用 Caju 的 Web 框架 web、Gin 和 Go 标准库 net/http 编写。在相同的 CPU 上,Caju 每秒处理的请求是对手的 1.5 到 2.2 倍。
启用 keep-alive 时的每秒请求数(越高越好)。服务器固定在自己的 CPU 上,负载生成器运行在其他 CPU 上;Ryzen 7 5700G,WSL2。GET /users 返回 50 个结构体的列表;POST /users 将 JSON 读入结构体。 框架:github.com/cajulang/web · 方法与各轮结果见 bench/http
直接从 GitHub 获取包
caju pkg 随语言一起提供。没有中央服务器:一个包就是带有 caju.toml 的 GitHub 仓库,它的名字就是你导入时写的路径。
- 声明依赖写在
caju.toml中,每项注明项目所需的最低版本。 - 解析当两个包要求不同版本时,取各最低版本中最高的那个。只有当有人要求更高版本时,选择才会改变。
- 锁定
caju.lock记录每个包的版本、提交以及文件的 SHA-256 哈希。 - 校验编译前,
caju build和caju run会校验哈希。任何文件被改动都会导致编译中止。
从代码到可执行文件
- 安装
curl -fsSL https://raw.githubusercontent.com/cajulang/cajulang/main/install.sh | shLinux x86-64。Windows 上请使用 WSL。 - 运行
caju run hello.caju在内存中编译并执行。 - 生成可执行文件
caju build -o hello hello.caju caju build --target windows hello.caju一个 Linux 二进制文件和一个 Windows .exe。