# Go

1254 Hacker News commenters recommended Go and 651 criticized it, November 2025 to November 2026. It was recommended in 13 of 13 months; owners who said how long report a median of 5.9 years (63 owners).

**Verdict:** Liked for its simple, readable style, easy goroutine concurrency, strong standard library and good performance; critics say it ignored prior language design, added generics late and lacks sum types.

## Why people recommend it

- Easy, scalable concurrency with goroutines (4 comments): "Goroutines are actually better AFAIK because they distribute work on a thread pool that can be much smaller than the number of active goroutines." ([source](https://news.ycombinator.com/item?id=47722684)) "you can prototype with a direct solution and then just pretty much slap on concurrency by wrapping it in "go" and adding channels is amazing" ([source](https://news.ycombinator.com/item?id=46157925)) "goroutines make building scalable network (web) servers trivial and fast. I'm not a big fan of the language, but the runtime is fantastic." ([source](https://news.ycombinator.com/item?id=48108466))
- Simple, readable, opinionated language (6 comments): "I used to hate Golang for not having generics and how verbose getting basic things done was. Then I read posts like this and realise, my god, Rob Pike was so, so right." ([source](https://news.ycombinator.com/item?id=47302546)) "Go is relatively easy to learn, and the semantics of the language make it more difficult to write "clever" code that's difficult to understand." ([source](https://news.ycombinator.com/item?id=49263787)) "Go lang has the middle ground whereby it's understandable with moderate effort while being statically typed with any necessary flexibility." ([source](https://news.ycombinator.com/item?id=48488345))
- Strong stdlib and dependency culture (4 comments): "I really don't like the lang itself but nobody will deny it has a very strong ecosystem and stdlib for handling around 95% of many well-solved problems" ([source](https://news.ycombinator.com/item?id=48106095)) "Go is also famous for encouraging a culture of keeping down dependency count while exposing a simple to use package manager and ecosystem." ([source](https://news.ycombinator.com/item?id=46035345)) "I get most of the performance of Rust with very little effort a fully contained stdlib/test suite/package manger/formatter/etc.. with Go." ([source](https://news.ycombinator.com/item?id=45933643))
- Fast performance and stable memory (5 comments): "I detest writing in Golang but once you get the hang of things you can get to the point where your code only takes twice the time to write and 2% of the time (and memory) to run." ([source](https://news.ycombinator.com/item?id=45996023)) "I get most of the performance of Rust with very little effort a fully contained stdlib/test suite/package manger/formatter/etc.. with Go." ([source](https://news.ycombinator.com/item?id=45933643)) "Go can be extremely stable in terms of memory footprint at both small and large scales, and it takes only a small amount of effort." ([source](https://news.ycombinator.com/item?id=48775846))

## What people warn about

- Late generics, no real sum types (3 comments): "It's perplexing that after C# and Java both notably shipped without generics initially then added them later that they decided to ship Go without generics" ([source](https://news.ycombinator.com/item?id=49129230)) "Technically Go has those too, but must always have a nil case, which violates what one really wants out of sum types in practice." ([source](https://news.ycombinator.com/item?id=47676307)) "the amount of pointers used to represent optional fields (more generally the lack of algebraic types) is making it less effective/ more verbose than I'd like" ([source](https://news.ycombinator.com/item?id=47112452))
- Ignores lessons of prior languages (4 comments): "they were bizarrely insistent on trying to come up with a design from first principles rather than taking the time to understand the literal decades of designs that came before" ([source](https://news.ycombinator.com/item?id=49727016)) "They threw many babies out with the bathwater chasing yhe rather unspecified "simplicity" and making parts of the lsngusge more complex to use as a result." ([source](https://news.ycombinator.com/item?id=49131373)) "the language that was seemingly designed with either an ignorance of or disdain for the hard-won lessons from decades of prior programming languages" ([source](https://news.ycombinator.com/item?id=49129799))
- Verbose and slow to write (3 comments): "I detest writing in Golang but once you get the hang of things you can get to the point where your code only takes twice the time to write and 2% of the time (and memory) to run." ([source](https://news.ycombinator.com/item?id=45996023)) "I used to hate Golang for not having generics and how verbose getting basic things done was. Then I read posts like this and realise, my god, Rob Pike was so, so right." ([source](https://news.ycombinator.com/item?id=47302546)) "the amount of pointers used to represent optional fields (more generally the lack of algebraic types) is making it less effective/ more verbose than I'd like" ([source](https://news.ycombinator.com/item?id=47112452))
- Concurrency and runtime footguns (3 comments): "Go's primitives for concurrency should almost never be used directly and Engineers below a certain skill level shouldn't be allowed to use them directly ever for long running production code." ([source](https://news.ycombinator.com/item?id=49262295)) "Someone, maybe Tolnay?, recently posted a short Go snippet that segfaults because the virtual function table pointer and data pointer aren't copied atomically or mutexed." ([source](https://news.ycombinator.com/item?id=45845480)) "I have seen multiple major production outages in Golang code because people accidentally read a non-existent map key and used the default value." ([source](https://news.ycombinator.com/item?id=48807189))

## Alternatives hackers recommend

- [Rust](https://hackerapproved.com/p/rust.md): 2039 recommend
- [Python](https://hackerapproved.com/p/python.md): 1067 recommend
- [Zig](https://hackerapproved.com/p/zig.md): 743 recommend
- [TypeScript](https://hackerapproved.com/p/typescript.md): 574 recommend
- [Java](https://hackerapproved.com/p/java.md): 553 recommend

## Cite as

Hacker Approved, "Go", https://hackerapproved.com/p/go-programming-language/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
