Go Generic Methods Approved, Not Top Demand

91% of Go devs love the language. But their top gripes? Not generic methods. Enums. Exceptions. Nil safety.

Go gopher announcing generic methods approval with survey charts in background

Key Takeaways

  • Go approves generic methods, reversing long FAQ 'no,' but interfaces still generic-free.
  • Devs celebrate workaround relief, gripe over incomplete feature and higher priorities like enums.
  • Survey: 91% satisfied, but enums, exceptions, nil safety rank higher than more generics.

91% of Go developers are satisfied with the language. That’s from the official 2025 survey, folks — mostly pros who code in it daily.

But here’s the kicker. Their biggest headaches? Missing enums. No real exception handling. Nil pointers that bite you in production. Generic methods? Buried way down the list.

And yet.

Go’s team just greenlit them anyway.

Robert Griesemer — co-designer of the beast — pitched it. They flipped their FAQ stance. No more ‘generic functions do the job.’ Now? Methods get type parameters too. Backward-compatible, they swear. Tools gotta update, though.

One massive catch lingers. Interfaces can’t have generics. Methods still won’t implement ‘em. Griesemer shrugs: doesn’t block future fixes. Sure, Rob. Wink.

Why Flip the Script Now?

Go 1.0 dropped in 2012. Zero generics. Devs howled for years. Go 1.18 — March 2022 — tossed in type parameters for functions and types. Methods? Nah. ‘Use functions,’ they said. ‘Interfaces complicate it.’

Widespread support back then. Rejected anyway. Now? Approved. Why the thaw? Code organization, they claim. Methods tidy things up, even sans interfaces. Fair. But smells like survey pressure — or just fatigue.

Devs cheer, half-heartedly. ‘My utility lib’s riddled with workarounds. Annoying as hell,’ one gripes.

“My internal utility library has a bunch of workarounds for missing generic methods and they all annoy the hell out of me.”

Another: ‘Confusing half-measure. Can’t satisfy interfaces.’ Spot on.

Reddit boils it down:

“Go got generic methods before enums. Crazy.”

Damn right.

Go’s FAQ used to preach simplicity über alles. Ken Thompson, Rob Pike — simplicity fanatics. Generics? Bloat. Error-prone. Now they’re dipping toes. My hot take? Go’s playing eternal catch-up to Rust. Bold prediction: they’ll sprinkle generics forever — methods today, interfaces tomorrow, full traits never. Rust laps ‘em while Go polishes its bike-shedding bike.

That’s the unique sting here. Not in the original. Go’s not evolving. It’s reacting. Late. Incrementally. Like a tortoise eyeing the hare’s dust.

Do Go Devs Even Want This?

Survey says no — not top priority. 91% happy overall. But frustrations stack: enums for constants (not half-baked iota hacks). Exceptions over error chaining hell. Nil safety — maybe sum types? Go’s ‘errors are values’ mantra wears thin after the 50th boilerplate.

One top-voted Reddit gem nails it. Enums first, geniuses.

Implementation’s next. No timeline. Griesemer: ‘Fully backward-compatible.’ Tools lag — vet, staticcheck, whatever. Expect bumpy Go 1.23 or whenever.

Positive vibes, sure. But incomplete. Devs hack around it daily. This scratches an itch. Doesn’t cure the rash.

Look. Go’s killer for backends, clouds, simplicity. Docker, Kubernetes — Go’s babies. But 2025? Competition heats. Rust owns safe systems. Zig nibbles edges. Even Bun (JS runtime) flexes generics better.

Go team: fix the real pains. Enums. Now.

Or watch devs itch elsewhere.

What’s the Real Go 2025 Wishlist?

Survey’s gold. Professionals, not hobbyists. Features from ‘other languages’ top beefs. Generics were low. Enums? High.

Why enums matter: Switch on constants without string hacks. Patterns in Rust, Swift — clean. Go? Iota enums suck for complex stuff.

Exceptions: Go’s error returns clog code. Try-catch? Panic-recover kludge. Real exceptions? Readable.

Nil safety: Every pointer’s a bomb. Optionals? Nope. Sum types could fix.

Go delivers generics piecemeal. Devs take crumbs. Grateful? Kinda. Eyeroll? Absolutely.

History echoes. Go rejected generics forever. Then caved. Methods next. What’s after? Generic interfaces? Bet on it — in 2027.

But enums? Still waiting.

Crazy.

**


🧬 Related Insights

Frequently Asked Questions**

What are generic methods in Go?

Methods on types that take type parameters, like functions do since 1.18. Organize code better, but no interface satisfaction yet.

When will Go generic methods release?

No date. Post-approval, implementation phase. Maybe Go 1.23. Tools need updates first.

Why no enums in Go yet?

Top dev ask per 2025 survey. Go team prioritizes differently — simplicity over features. Workarounds persist.

Sarah Chen
Written by

AI research editor covering LLMs, benchmarks, and the race between frontier labs. Previously at MIT CSAIL.

Frequently asked questions

What are generic methods in Go?
Methods on types that take type parameters, like functions do since 1.18. Organize code better, but no interface satisfaction yet.
When will Go generic methods release?
No date. Post-approval, implementation phase. Maybe Go 1.23. Tools need updates first.
Why no enums in Go yet?
Top dev ask per 2025 survey. Go team prioritizes differently — simplicity over features. Workarounds persist.

Worth sharing?

Get the best AI stories of the week in your inbox — no noise, no spam.

Originally reported by The Register - DevOps

Stay in the loop

The week's most important stories from theAIcatchup, delivered once a week.