logoalt Hacker News

drnick1yesterday at 8:09 AM4 repliesview on HN

It's a bit unnatural to use Go when C is the "native language" of Linux and pretty much every operating system.


Replies

ktpsnsyesterday at 8:22 AM

Talos Linux [1], "the Kubernetes Operating System", is written in Go. That means it exactly works as the little demo here, where the Kernel hands over to a statically compiled Go code as init script.

Talos is really an interesting linux distribution because it has no classical user space, i.e. there is no such thing as a $PATH including /bin, /usr/bin, etc. The shell is instead a network API, following the kubernetes configuration-as-code paradigm. The linux host (node) is supposed to run containerized applications. If you really want to, you can use a special container to get access to the actual user space from the node.

[1] https://www.talos.dev/ [2] https://github.com/siderolabs/talos/releases/tag/v1.11.5

show 2 replies
themafiayesterday at 10:46 AM

Go can speak C. It's fine.

zsoltkacsandiyesterday at 10:28 AM

The goal was to strip away most of the complexities (including C), to make the topic more approachable for a broader audience.

Go seemed a perfect fit, it is easy to pick up the syntax and see what is going on, but you can still be close to the OS.

cpachyesterday at 8:12 AM

I mean what you run is still machine code anyway, right?