Hacker News new | ask | show | jobs
by albeva 2191 days ago
I feel like Go lost its chance by being way too slow to innovate. From my circle of people who I remember were extremely excited about Go when it first came out - no one really uses it anymore. In our circle it has become a "meh" language. Heck Apple Swift on server is way more exciting than Go these days.
7 comments

It isn't supposed to be an exciting language. It specifically not fancy. Great for teams. Forced style consistency. Clear expectations. Difficult to mis-read compared to most others. Terse, almost rude.
There is a lot of beauty in go’s simplicity. Very straightforward to reason about what’s going on.

I find it much easier on the eyes than java.

Great summary. If one has to maintain a program full of "exciting" code, or just come back to it after some years, one is extremely happy for code which is written in a clear, simple style.

Unfortunately, I have had to deal with too much "exciting" code. So I am very happy with Go so far and this latest concept of generics seems to add the least amount of complexity for the problems it solves.

Exciting is not a criteria you should use in choosing a programming language. Go is boring, and that's a good thing for those using it, because they can get on with their real work without worrying about the language changing.

I'm pleased to see they've made this proposal even more boring and removed contracts.

I wonder if you don't hear about it because it 'just works.' That's been my experience with Go. No frills, get stuff done type of language. No language is perfect, but Go doesn't have leftPad issues or a new language construct weekly like JS. It also doesn't have decades of baggage to lug around like Java. There just isn't much for people to talk about. It's a boring language that is, for the most part, easy to read and write.
I have not seen any data to indicate that server-side developers (outside of your circle) are more excited about Swift than Go.
yeah for me personally it's tricky, I like Swift as a language but I'm pretty happy with rust and c++ for cross-platform system/graphics work (there are a ton of great libraries) and there's a million options for network services including Go that feel more built up

i feel like i'm at a point of language overload as it is these days, I don't have the mental space for yet another language

Go is huge in the Kubernetes world... mainly because both are Google inventions. But almost all of the third-party integration I've seen in k8s has involved Go.
Kubernetes actually started out in Java, and was only rewritten into Go later (before 1.0 though). The choice of Go could also have been influenced by Docker being written in Go (which also meant that some Docker-related libraries were already available for Kubernetes to use).
The super early Java prototype of Kubernetes lived for about a week or two and never saw a public repository. It's kind of misleading to say it "started out in Java".
When I first encountered Go in 2015, it was exciting because it made concurrent programming accessible and easy compared to the competition. Fast forward to 2020, and many languages have either caught up or improved on the advances Go made (e.g. Kotlin, Rust, Elixir, Scala, etc.). That being said, I think you might be in a bubble if you don't know anyone using Go. It's everywhere nowadays, for better or worse.

I agree with you that I think they're slow to improve. I'm not sure if innovation is necessary though, since most people rely on the language being stable going forward.

Personally I struggle with deciding when to use Go for a new project. With so many languages now supporting different concurrency paradigms, and containers abstracting away prior deployment pain points, I'm not sure why I'd reach for Go over any of the others.

That's why there are other exciting languages for you to adapt to like Kotlin, Swift, C++xx, Nim or even wonderful functional languages. Hopefully no one forces you to use the boring Go and if someone does, you can start a new startup and writi in "the exiting" language exclusively. ;) Enjoy!