frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

The Goose Programming Language

https://aardappel.github.io/goose/
73•andsoitis•1h ago

Comments

iacuobos•45m ago
I can't see a reason to use this and not C++ It reads like slop text
andsoitis•39m ago
> to use this and not C++

Why Goose - https://aardappel.github.io/goose/#why-goose

FrustratedMonky•44m ago
Looks cool, and well developed. But really, cover pages need some better TL;DR, about the purpose. What is it for? There are a ton of languages out there. What gap is this filling? What is the purpose, the use case. Why do I need to keep reading further?

Edit Man, two posting about Goose back to back. Carmack alone might be enough to read further.

https://news.ycombinator.com/item?id=50224100

tobiolo•25m ago
I think it is a general systems programming language that fits for a variety of use cases but especially well with trees, records and where you want to have direct data (de-)serialization, like flatten out a tree and pick it up then (last one reminds me of FlatBuffers, another invention of the programming language author). I think if you look into the Discord channel there's some nice examples.
pulse7•43m ago
Educate me: how to create a program in Goose which reads a JSON structure, prints it out and finishes. How is memory for JSON allocated on stack? It can be from 1K to 1M - depending on the file...
stickfigure•31m ago
I don't see why this is problematic. Stack is just memory, you can allocate it by incrementing a pointer. Any amount you want, really.

Apache modules worked like this (still do, presumably). Each request has a stack; allocations bump the stack pointer; when a request is finished, the stack pointer is reset. Incredibly efficient as long as you don't need to keep memory longer than a single request.

Looks like in Goose, each scope acts like an apache "request".

abcd_f•19m ago
In Windows, by default, thread's stack is capped at 1MB. Main thread gets more but that's somewhat off the point.
andsoitis•29m ago
> How is memory for JSON allocated on stack?

Check the features section (https://aardappel.github.io/goose/#features), which starts off with how memory works.

malisper•26m ago
I'm not familiar with Goose, but based on some research and my understanding of how memory works:

At compile time, Goose will analyze your program and determine a number of stacks, N, for it. N is the maximum number of "growable" items you can have in existence at any given point in time. Using virtual memory tricks, each stack can grow up to 2GB, but it uses a contiguous address space and only uses as much physical memory as it actually needs.

For the program you're describing, I think you would end up with two stacks: one to parse the input and a second to print it. When you parse the input, Goose reads characters from the string one at a time and puts them onto the stack. Once it has hit the end of value, it will update the stack so it now represents the decoded JSON value (strings will just leave the characters in place, numbers will pop off the characters and push the number onto the stack). Goose repeats this until it has parsed the whole JSON, and now the whole JSON is on the stack.

Then, when you print the JSON, Goose uses the second stack to build a string. Like the parsing approach, it iterates through each element of the JSON and pushes its string representation onto the stack. Once it's done, it resets the stack pointers to free the memory.

This is really nice because allocating memory is just adding to the pointer, and freeing it is subtracting from the pointer.

In contrast, Rust automatically inserts malloc() and free() calls throughout your code, which are much more expensive than pointer arithmetic. On top of that, freeing a vector of heap-allocated objects is O(n), whereas if done right in Goose, it would be O(1)

andsoitis•42m ago
Lobster is the author's other programming language, previously discussed on HN: https://news.ycombinator.com/item?id=47239955
onlyrealcuzzo•33m ago
Interesting. Lobster rocks, and Goose is similar to something I've been building on the side, but would rather have someone build for me... Hopefully this guy does it!
vanderZwan•19m ago
*one of, you mean:

https://strlen.com/programming-languages/

weinzierl•41m ago
Rust's appeal (to me) is safety, performance, DX in that order.

Where does Goose sit when classified along these dimensions?

Sure, performance is right there on the packaging but no word about UB in the README. I read "Goose has syntax familiar to C and Rust" as DX in the same ballpark, but is it a performance first or safety first language.

If it is the former it occupies the same crowded niche as C++ and its many cousins and will have a hard time.

If it's the latter it will have much more room to prosper. We don't have enough languages in the niche that Rust and Ada fill right now.

baalimago•37m ago
Do android dream of goose?
onlyrealcuzzo•30m ago
If you mentioned it in the main page, I didn't see it. Something that I'm interested in:

How fast is the compilation speed on large programs compared to Zig, C, Go?

My ideal language is safer than Rust (no deadlocks / livelocks, no stack overflow from recursion) but compiles faster than Zig.

IshKebab•18m ago
PLEASE rewrite this without AI-isms. AI can write perfectly good code now, but its prose - even the latest models - is just awful to read. It hurts my brain to read this.
ivanjermakov•15m ago
I like it this way, it gives correct expectations regarding effort put into the rest of the project.
rfgplk•18m ago
Keep going, and I hope more people start rolling their own languages.
anonymous908213•13m ago
An AI-generated language with an AI-generated article proclaiming AI-generated benchmarks about how it's 3x faster than C++. Spare me.
FrankWilhoit•13m ago
The right ideas. Not optimized for reallocation. Creates pressure to overload types, making secure software unattainable.
mihaaly•12m ago
Oh, is this then the Holy Grail of memory handling or what?!

Please share it with logistics guys, since putting stuff from here and there into warehouse storage, then taking away, put some more in than planned sometimes, keeps spinning their heads. They need all the good logic!

So, yet another programming language, that's nice. I never thought there will be one more beyond English.

  Evolution of programming languages:
  - 1940s → Machine Code ( 0s 1s )
  - 1949  → Assembly
  - 1957  → FORTRAN
  - 1959  → COBOL
  - 1964  → BASIC
  - 1970  → Pascal
  - 1972  → C
  - 1983  → C++
  - 1991  → Python
  - 1993  → Ruby
  - 1995  → Java
  - 1995  → JavaScript
  - 1995  → PHP
  - 2000  → C#
  - 2009  → Go
  - 2010  → Rust
  - 2011  → Kotlin
  - 2011  → Elixir
  - 2012  → TypeScript
  - 2014  → Swift
  - 2015  → Solidity
  - 2026  → English
anigbrowl•11m ago
This looks very interesting! I mostly write in garbage-collected languages (to the extent that I still write anything by hand...) so I'm just a spectator in memory management debates, but it's often struck me that heap management is more of an art than a science. The idea of treating memory more like stacks made immediate intuitive sense to me. I'm also fascinated by the thread implementation, although I'm not knowledgeable enough to to think through the potential benefits/costs vs other approaches to concurrency.

I wonder if the name of the language was inspired by the way geese fly in formation, with trailing birds saving energy by flying inside the aerodynamic shadow of the leaders, and swapping in and out as needed. If so, a very nice metaphor for the memory management model.

I was also impressed by the documentation. As we know AI-generted docs tends to be rather mediocre, but the author has clearly invested time in making in readable such that the relevance and rationale of design decisions provide the context that a curious programmer needs to understand why things are implemented in a particular way.

I really appreciated the detailed samples, ranging from simple algorithmic theorems up to a small game. Again, I don't have the experience to rate the language vs others, but I was struck by readable the code was and how easy it was to follow task flow. Not having to think about classes is always a plus!

Anyway, I usually the the offering of a new language with dispassionate interest, as something to be aware of and but not get too invested in or familiar with until it gains enough popularity to have a good shot at longevity. Goose is the first language in a long time where I looked at it and immediately thought that I'd like to use it for its own sake.

malisper•4m ago
I'm curious, for someone more familiar with Goose: how do you represent an arbitrary number of dynamically sized values? If you have a fixed number of stacks, it seems like only a fixed number of values can change size at any given time.

For instance, how would you represent a hash table where the values are strings and at random, the program inserts or deletes a random string?

This doesn't seem like something you could easily represent. The only way I can think of is to keep a stack that holds all of your strings, and you periodically compact it.

rvz•3m ago
If you can't be bothered to read and structure your own README after getting an AI agent to write more than 10,000+ lines on a single page, it becomes a DONTREADME.md.

Yet, the author expects YOU to read all of what they didn't write. So I ain't reading all of that.

doublec•3m ago
There is a JSON example in the github repository: https://github.com/aardappel/goose/blob/master/samples/18_js...

Agent Compute Engine and expanded agent governance

https://cloud.google.com/blog/topics/ai-infrastructure/introducing-agent-compute-engine-and-expan...
1•jhalstead•2m ago•0 comments

Decompiling Games with AI: Virtueel Zoetermeer

https://bou.ke/blog/zoetermeer/
1•bouk•2m ago•0 comments

Altman issues self-serving warning they've created a monster they can't control

https://the-decoder.com/openai-ceo-sam-altman-says-advanced-ai-will-inevitably-escape-its-sandbox...
2•magus-stoopr•6m ago•1 comments

Colin C. Adams' the Knot Book

https://archive.org/details/knotbookelementa0000adam
1•joebig•6m ago•0 comments

A Fix for Softmax and Cross-Entropy

https://arxiv.org/abs/2610.31642
1•vpj•8m ago•0 comments

An explosion of AI-powered hacks will reshape life online

https://www.theatlantic.com/technology/2026/10/the-safe-internet-is-shrinking/689130/
3•fortran77•11m ago•0 comments

Steal My Bitcoin

https://stealmybitcoin.com/
3•cloudlandsdev•16m ago•0 comments

Doom on a DVD Player – Blazelight.dev

https://blazelight.dev/blog/vobdoom
1•rbanffy•16m ago•0 comments

AI agents, in separate VMs without network, communicated through the CPU cache

https://twitter.com/rynorhn/status/2113757656498196605
2•thunderbong•18m ago•0 comments

Quake64 for Atari 8-bits

https://kweepa.itch.io/quake64
1•rbanffy•19m ago•0 comments

Time Thieves

https://netwars.pelicancrossing.net/2026/10/23/time-thieves/
1•ColinWright•20m ago•0 comments

Simple Rules for Building Simple Systems

https://malisper.me/simple-rules-for-building-simple-systems/
1•andsoitis•22m ago•0 comments

Min-P, Max Exaggeration: Critical Analysis of Min-P Sampling in Language Models

https://arxiv.org/abs/2506.13681
1•wy35•25m ago•0 comments

Musk says he was behind Starlink speed limit after service in Ukraine restored

https://apnews.com/article/russia-ukraine-war-starlink-drones-a3a0139dfc23365550306dd66fe43daa
6•toomanyrichies•26m ago•0 comments

Artificial Ontological Scaffolds

https://victorgoodman.com/artificial-ontological-scaffolds/
3•cgnspace•26m ago•0 comments

Show HN: Wasi-Python – CPython, NumPy, and Pandas in a WebAssembly Sandbox

https://github.com/ClayGendron/wasi-python
2•clay-gendron•27m ago•0 comments

Video Game Studio BioWare Shutting Down

https://www.nytimes.com/2026/10/21/arts/bioware-closing-baldurs-gate.html
2•bookofjoe•29m ago•1 comments

Mercury transmuted into stable gold, using fusion neutrons

https://twitter.com/MarathonFusion/status/2113001085912895846
1•rbanffy•30m ago•0 comments

Will Humans Become a Luxury?

https://www.artfish.ai/p/will-humans-become-a-luxury
2•yenniejun111•31m ago•0 comments

Show HN: Duls – A bit of du, a bit of ls. Best of both

https://github.com/baalimago/duls
1•baalimago•32m ago•0 comments

In Nigeria, Solar Panels Are the New Wedding Gift

https://www.bloomberg.com/news/features/2026-10-23/nigeria-embraces-solar-energy-as-panels-become...
4•toomuchtodo•35m ago•1 comments

Stride: Systematic trend-following system in Python 3.12

https://github.com/JAbarca74/stride
1•JAbarca74•35m ago•0 comments

Show HN: Chord Finance – macOS keyboard driven personal accounting & portfolio

https://chordfi.aquaflamingolabs.com
1•devrob•36m ago•0 comments

The Aardappel Programming Language – Concurrent Tree Space Transformation

https://strlen.com/aardappel-language/
1•andsoitis•40m ago•0 comments

A venture capital game in which your LPs would like their money back

https://vc.tilo.coffee/
5•xemmerling•40m ago•1 comments

Restructor

https://strlen.com/restructor/
1•andsoitis•41m ago•0 comments

The Rules Cannot Change Only for Young Mathematicians

https://proofsandprompts.com/2026/10/22/the-rules-cannot-change-only-for-young-mathematicians-ai-...
1•reasonableklout•41m ago•0 comments

Ask HN: What Are You Working on (Oct 2026)

1•njx•42m ago•1 comments

AROS.games - Retro OS for Gamers

https://aros.games/
1•doener•42m ago•1 comments

GTA 2 Multiplayer in the Browser

https://two-mp.com/
2•crosschainer•42m ago•0 comments