Discussion
Why I Vibe in Go, Not Rust or Python
UltraSane: I have found C# has a the same advantages as Go when vibe coding.
dmix: I use Node for one off vibe-coded stuff, that way I can't pretend it's not a piece of crap.
riclib: Last night I built a website from scratch. Not a landing page. A full blog with three-domain routing, animated video covers, an audio player with playlists, dark mode, RSS feeds, social cards, and a sticky sidebar with a lightbox. Seven commits. Zero test failures. One binary.The site you've read the article on. Built in one session. In Go.I work with an AI that writes most of the code. The question everyone asks is which language to vibe in. Python is fast to start. Rust is correct by construction. Go is boring.I choose boring. Here's why.
gerdesj: Would you mind showing us the Go bits of this website?I'm also struggling with this: "The compiler is the floor. The human is the taste. The binary is the proof."I'd initially go for parody but I'm not laughing (inwardly).
oldgregg: Add air for auto reload and ur golden
hackingonempty: Why use an obscure language like Golang when you can use Java? It is just as capable and boring as Golang but has an order of magnitude or two more available libraries, training data, and runtime support.
wanderlust123: Obscure? That is just false
Tempest1981: > The deploy script is 30 lines of bashriclib, should that be 3 lines?
malcolmgreaves: You also have AI write your HN comments.
giancarlostoro: I "Vibe" in all three to be honest. I've had good success, the key thing is, and I say this often, you have to think like an architect, and basically tell it how you want something built not just what you want built.
jakelazaroff: > Mypy exists. Mypy is optional. Optional means it’s not there. I’ve never seen a Python project where mypy covers 100% of the code with strict mode. I’ve seen hundreds where it covers the 20% someone added last quarter. The other 80% is Any, all the way down.This is your project, is it not? Can you not simply tell the agent to cover 100% of the code?Notably, types in TypeScript are also optional, but LLMs don't seem to have any problem generating fully type-safe code without `any` (though you do need to gently nudge them on occasion, or run a linter that forbids it). I don't see why they'd choke so hard on Mypy.
m00dy: I write Rust only and never look back.
wenc: It depends on the use case. Go seems like a dream... until you have to work with dataframes or do any kind of ML work. Then it's a nightmare.Go's ecosystem is especially weak in ML, stats, and any kind of scientific computation. I mean, do you really want Claude to implement standard battle-tested ML algorithms in Go from scratch? You'd be burning tokens and still get a worse result than if you'd just used Python.I use Go to write CLI tools, but for ML work I'd rather have Claude generate Python.The suitability of language hinges not only on its language design, but its ecosystem as well.
Incipient: I read the first two paragraphs, found a bunch of fairly glaring errors, and got put off.>It has type hints, which are optional, which means they’re not there.I mean it is there, and it works.I've also not had an AI make a dict key error in a while, but mostly as I use objects - haven't magic strings in code been bad for a while now?Also llms are bad at architecture, not things like typing or keys. I'm really struggling with even opus having an absolute atrocious abstraction approach, and has made implementing business logic incredibly difficult. Borderline having to throw out days of work.