by p5v on 4/13/23, 5:00 PM with 4 comments
All of this makes me wonder - where is Go actually heading? Not now, but in like 5 or 10 years? Will people be as excited in building new applications with it, or will it niche itself into "that cloud and microservice thing" made by Google that we have to maintain, because a few large projects decided to use it a decade ago?
What do you think? Do you see a bright future for Go, or is it more like "it's going to be more of the same"?
by tgv on 4/13/23, 5:30 PM
I haven't seen wide-spread adoption of rust, and frankly, it's not an easy language to write performant, algorithmically dense code in. I tried sharing trees in a parser once, and it drove me crazy. The only solution was to wrap everything in Rc<Cell<T>> or to use numbers to index each node. I see rust settling in the low-level niche, but don't expect it to grow rapidly. People still program IoT devices in C, so it looks as if rust is pearls for swines.
Anyway, Go can take up a good position in the lower layers of backend code. But the architect guild is not likely to wean off their dependency on ORM frameworks and other semi-magical stuff that Java offers, and Go doesn't, so for the coming 10 years, I don't see it making much inroad in enterprise software.
by ainar-g on 4/15/23, 10:34 AM
YMMV, obviously, but in companies within my personal bubble Go is still the go-to (heh) tool for creating both CLI tools and all kinds of API services. These kinds of choices, in my experience, mostly boil down to what kind of personnel a company has at the time, as well as personal preferences of the tech leads. And while some of them do appreciate Rust, finding good Rust devs still seems harder than good Go devs.
> Will people be as excited in building new applications with it, or will it niche itself into "that cloud and microservice thing" made by Google that we have to maintain, because a few large projects decided to use it a decade ago?
I love Go, and has been working with it for about ten years now, but I don't think it was ever an “exciting” language, once you remove the initial hype. Go has always been reductive and boring, and that has always been its greatest strength (and, in the eyes of many, its greatest weakness). You've mentioned Java and .NET, and I feel like Go has almost entered that company of languages. Boring technology, with good tooling and lots of libraries, supported by large corporations, that can deliver results within predictable time scales.
So if I had to predict the future of Go based on the current trends, I'd say it's almost definitely “more of the same”, which is, in a way, the “bright future” for the language. The tooling is going to be improved. The type system is going to get improvements too, but very slowly (my personal prediction is that we'll get sum types around 1.22–1.24; long overdue, imo). The stdlib is going to be expanded to accommodate these changes. Nothing exciting, but that's how a lot of people want it.
by sacado2 on 4/14/23, 3:18 PM
by daviddever23box on 4/13/23, 5:47 PM
In general, though I use Go daily, I also see significant benefit to learning Rust, and applaud Microsoft's efforts to support it within a Windows context. That said, I see them as both complementary options AND distinct tool choices within a systems context.