Preferences

What do you recommend instead of Go?

Feels like a skills issue but happy to be wrong.


Yes it is a skill issue - I lack the skill to enjoy programming in a language with the ergonomics of something from the 70s. Golang is C with garbage collection

They’re complaining about mediocre AI-generated Go code, when Go was explicitly designed to optimize for mediocrity at scale. Rob Pike literally said they designed it for programmers who “are not capable of understanding a brilliant language.” The language deliberately trades expressiveness for simplicity so that huge teams of junior engineers can’t shoot themselves in the foot.

LLMs are basically junior engineers with perfect syntax recall. Of course they generate Go well, verbose, explicit, no clever abstractions. That’s not a bug, it’s the entire design philosophy.

For most of my work, TypeScript/Node is plenty fast and I can work fullstack in one language. When I actually need performance, Rust gives me control without random GC pauses. And if I need a GC language with good ergonomics, Kotlin on the JVM is miles ahead.

Go made sense in 2010 when Google needed to get thousands of new grads productive quickly. But those tradeoffs, sacrificing language quality for organizational scale - are exactly why it’s perfect for AI generation. You can’t have it both ways: you can’t design a language for the lowest common denominator and then be surprised when AI hits exactly that bar.

Oh, you're one of those blinkered types...

"Golang is C with garbage collection" I mean, Go isn’t C with GC - it’s C with:

- first-class concurrency (goroutines, channels)

- structural typing via interfaces

- a memory model safe enough for large-scale concurrent programs

- and tooling (formatter, linter, race detector, profiler) built in from day one.

That’s not just "C with GC." That’s decades of language design evolution deliberately integrated into a cohesive, batteries-included ecosystem that others have failed at (Typescript) or just haven't reached in their lifecycle (like Kotlin).

The Pike quote you’re half-remembering is about teams btw, not about "dumbing down" - Google had (and still has) thousands of engineers working on massive distributed systems. Go’s tradeoff wasn’t "let’s design for idiots" - it was “let’s design for readability, maintainability, and concurrency at scale.”

That’s why Go codebases from 2011 still compile cleanly today with minimal changes. Try that with your "ergonomic" TypeScript stack where half your dependencies are deprecated next quarter.

and that is what makes it a great language for LLM's to generate, just don't make me write it...

This item has no comments currently.