Hacker News new | ask | show | jobs
by kubb 1769 days ago
I’ve been using Go at a large software company for 4 years. It does the job, my biggest complaints are the low capacity for abstraction, verbosity and ergonomic pain points. It can do certain things well, but in a large enough project you’ll inevitably find that it doesn’t give you the best tools for certain types of problems.

I don’t know what to think about the upcoming generics. It feels late to make such a big change so long after the language has been established. At least a plan for it should have been integrated into the language from the start.

It feels like a missed opportunity - an effort with similar funding but a more sound theoretical foundation than being Newsqueak 3.0 could have become an industry game changer. Instead it fills a niche, which is a success, albeit smaller.

3 comments

"It feels like a missed opportunity"

I agree with that. I think looking back on it, Go arrived on to the scene at a perfect time where lots of people were rearchitecting so there was lots of natural appetite in the industry for a new language. Go vacuumed up a lot of this opportunity but ultimately hasn't really evolved the practice of software engineering all that much.

> feels late to make such a big change

This is recoverable. The Java world was also saddled with a decade of awful pre-generic code, but we burned almost all of it to the ground and started over.

The need to tackle generics later resulted in design decisions such as type erasure, which even today are still limiting the evolution of Java.
Yeah, that was an unforced error. Fundamental changes to a language can and should rely on upgrading deployed runtime libraries.
> an effort with similar funding but a more sound theoretical foundation than being Newsqueak 3.0 could have become an industry game changer.

That's a pretty good description of Rust 0.x. Might ring a bell.