Goose 语言:没有堆、没有 GC、没有生命周期标注的内存安全系统语言
来源:aardappel.github.io — 2026-10-26
📋 概述
Goose 是一门面向系统编程的新语言,语法对 C 与 Rust 程序员都不陌生,但核心设定是「没有堆」:所有动态值都内联在编译器管理的数据栈上,增长只是推进指针,作用域结束即释放。类型与生命周期规则保证这套内存模型是安全的,却不需要写任何生命周期标注、借用规则或 unsafe。作者给出的基准里,Goose 在十六项测试中达到惯用 C++ 的 3.3 倍速度、手优化 C++ 的 1.16 倍、最佳安全 Rust 的 1.12 倍,同时内存占用更低。
🔑 核心要点
- 没有分配器、GC、引用计数与析构器:释放百万元素的嵌套结构只需一次写入。
- 增长时已有引用保持有效,因此不必像 C++ 那样 reserve,也不用像 Rust 那样退化成 u32 下标。
- 引用可以是 1/2/4 字节的相对偏移,结构本身就是文件格式:保存即写入,加载即读取加校验。
- 线程被编译成独立程序、各自持有内存,值通过类型化队列 memcpy 传递,语言里不存在数据竞争。
- 它同时是一次「用 AI 实现新语言而非复刻旧语言」的实验,编译器用 C++ 写成、输出 C。
💡 金句
A memory-safe systems language with no heap allocator, garbage collector, or lifetime annotations.
👍 0
👎 0
← 返回 Hacker News 首页