AI & Machine Learning

Claude Helped Build Goose, the Language That Caught John Carmack’s Eye

Goose pairs Wouter van Oortmerssen’s language design with an implementation largely written by Claude Fable. Carmack praised its memory model; benchmarks need context.

By Daniel Mercer Edited by Samantha Reed Published: Updated:
Claude Helped Build Goose, the Language That Caught John Carmack’s Eye
Goose combines a human-designed programming language with a largely AI-written implementation, drawing praise from John Carmack. Photo: Official GDC / Wikimedia Commons

Key Notes

  • Wouter van Oortmerssen credits Claude Fable with most of Goose’s implementation, while retaining responsibility for the language design, compiler design and coding standards.
  • John Carmack praised its data-stack analysis and binary-data design in an October 23 post, without claiming to have independently verified its benchmark performance.
  • The project reports gains over C++ and safe Rust in its own test suite, but also documents losses, methodological limits and features still under development.

A programming language implemented largely with Anthropic’s Claude Fable has caught John Carmack’s attention. Called Goose, it is the work of programmer Wouter van Oortmerssen, who credits the AI with turning a human-designed language into a working compiler and its surrounding tools.

The project explores a memory-safe approach to systems programming without a conventional heap allocator, garbage collector or written lifetime annotations. Its appeal is partly technical and partly a demonstration of what AI coding tools can help an experienced developer finish.

In an October 23 post, Carmack praised the automatic analysis behind Goose’s data stacks and resizable fields. He also highlighted its relative references and validation of binary structures, which can make stored data usable without elaborate reconstruction. His comments concerned those design ideas, rather than a comparative audit of the language.

A Human Design, With Claude Doing Most of the Implementation

Van Oortmerssen’s repository separates the credits explicitly: he supplied the language design, compiler design and coding standards, while Claude Fable handled compiler implementation, benchmarks, examples and documentation. He says the language had existed as an unfinished design for years before AI made completing it practical alongside running a game startup.

In his Hacker News replies, van Oortmerssen described using his existing Lobster compiler as the starting example, giving Fable a familiar structure to work within. He also said Goose’s syntax and semantics were designed primarily for people. The language was a design he wanted to realize, rather than something conceived specifically to serve AI agents.

It is a more specific example of AI-assisted development than another quickly generated application. A language needs consistent rules, diagnostics and behavior across programs that its designer has not anticipated. Getting a compiler to run is an important milestone; maintaining that consistency as the language grows is a continuing engineering job.

Why the Memory Model Matters

The tutorial describes several array forms rather than one universal container. Some have fixed sizes, some are finished when constructed, and others can grow. Grow-only storage is particularly useful because adding elements preserves references to existing ones.

The compiler infers the lifetimes of references and rejects uses that would outlive their owners. Data stacks reserve address space and commit memory as needed, with storage reclaimed when its scope ends. The aim is to make compact data layouts and inexpensive cleanup available through ordinary language features.

That approach comes with constraints. Programmers still need to consider ownership and scope, and variable-size elements do not automatically support direct indexing. A separate index can provide that access. Memory safety also does not eliminate logic errors: reusing a slot can leave a reference pointing to a valid object that is no longer the one a programmer intended.

What the Speed Claims Actually Show

Goose’s October 16 benchmark results report geometric-mean speedups of 3.51x to 3.54x over idiomatic C++, 1.24x to 1.26x over hand-optimized C++, and 1.13x to 1.19x over the best safe Rust implementations. Those ranges reflect different compiler backends across 16 tests, rather than a universal performance advantage.

The project makes several qualifications explicit. The measurements come from one Windows machine, use the best of three runs after warm-ups, and include input generation, construction and teardown. Aggregate speed and memory figures can select different Goose implementations, so no single implementation delivers every headline result. The suite also records losses, including the calculation workload against Rust.

Its benchmark design explains why tightly packed structures might help: less allocation, copying and pointer chasing can mean fewer bytes touched for the same work. It also identifies potential disadvantages, including unaligned data, copying costs and awkward lifetimes. Flat numerical arrays may offer little opportunity for an advantage.

An AI Coding Experiment Developers Can Inspect

The Hacker News discussion captures both the interest and the skepticism. Van Oortmerssen answered questions about the language, while commenters debated the clarity of its AI-written documentation, how much of the design came from a person, and what evidence would justify adopting it. Those are different questions from whether the benchmark programs run quickly.

Goose is available under Apache 2.0, with a roughly 30,000-line C++ compiler, a specification, examples and automated tests across Windows, macOS and Linux. It remains an evolving project with features still on its roadmap. Open code gives developers a way to inspect and challenge the claims; it does not itself establish production maturity.

We explored a similar distinction between an impressive build and a dependable tool in our PhotoCraft coverage. Goose’s significance is the concrete division of labor: a programmer retained the design and standards while AI supplied much of the implementation. Whether that becomes a durable language will depend on the code, tools and community that develop around it.

Disclaimer: AIstify is an independent media brand owned and operated by NuvexMedia LLC, publishing news, research, and insights on artificial intelligence, emerging technologies, automation, and related industries. NuvexMedia LLC invests in and collaborates with companies across the AI, technology, software, and digital innovation sectors. These relationships do not influence AIstify’s editorial coverage, and the publication maintains full editorial independence to provide accurate, timely, and objective information. © 2026 NuvexMedia LLC. All rights reserved. This content is for informational purposes only and should not be considered legal, tax, investment, financial, or other professional advice.

AI & Machine Learning, News