Hacker News new | ask | show | jobs
by hazz99 2816 days ago
Why do you think that?

I like it's stripped-down feature set, and opinionated concurrency (although it's occasionally clunky).

It's not perfect, and could have a lot more support for concurrency, but it's very workable and a joy to program in.

2 comments

My personal problem with Go is that it doesn’t fit in any niche.

If you want language optimized for productivity with a lot of high-level features, use Python. If you want maximum performance and low-level control, use C++ (or C, or Rust). If you need relatively high performance but can tolerate it not being 100% in exchange for nice things like GC, use Java. Where does Go fit?

If we're being serious here, I'm pretty sure Go is specifically for very very large orgs and almost no-one else. Go optimises for low GC pause time, fast compile times and in-your-face concurrency at the expense of almost everything else. The fact that CSP is formalised and well studied, and the lang itself is sufficiently C-like and stripped down makes it amenable to large scale static analysis as well.
If you need relatively high performance but can tolerate it not being 100% in exchange for nice things like GC, use Go. Where does Java fit in?
Java has existed for dramatically longer than Go and is extremely well-supported, both in terms of the core language and the tooling ecosystem.

You need a good reason to get rid of the incumbent, it's not just arbitrary.

IMO there are plenty of reasons for me not to use Java. I could write an essay on it, but the only one that really matters is that for the 4 years that I coded in Java, I didn't enjoy it.

And to suggest Go doesn't offer anything different to Java is just silly.

Curious, what does it offer other than the goroutines and the native compilation?
> I like it's stripped-down feature set

How could the absence of sum types possibly be a good thing?