Hacker News new | past | comments | ask | show | jobs | submit login

Thing is, it's not even necessarily true for Go. E.g. that whole `iota` thing is hardly a good example of "simple and obvious" language design compared to enums in... just about everything else. Or we could talk about the difference between a nil interface value vs interface value wrapping nil.





Go being simple and fast to compile, doesn't mean go is simple to use.

My friend tells me the primary use case for go are microservices no more than one page worth of code deployed in kubernetes.

I think that's correct. Anything larger is just masochism.

There will be a revolt at some point, the question will be to what? Rust? Probably not. Maybe a C++ resurgence...


FWIW, the revolt to Rust is already happening.

Why would anybody choose C++ over Rust in 2025? The biggest (valid) criticisms against Rust are that it is difficult to learn and use, but C++ is like 1000 times harder. When people say Rust is complicated they’re comparing it to modern GCed languages, not to C++.


Why C++ still gets chosen:

1. There is a lot more experienced C++ devs around.

2. There are a lot more libraries that are readily usable from C++ but would need to be wrapped to use in Rust.

3. The tooling (IDEs etc) around C++ is more mature.


> E.g. that whole `iota` thing is hardly a good example of "simple and obvious" language design compared to enums in... just about everything else.

I actually disagree with this specific take. I do agree that iota is an unnecessary bit of cleverness (especially with that name) but I’d much rather a langage have nothing than the pile of lies and garbage that are C enums. At least then it’s not pretending.


Maybe a decade ago I saw a video of Rob Pike telling people they can abandon C++ because golang was good enough. He proclaimed that people can toss out their reams of C++ code and replace it with Go. That never really came to fruition -- even as bad as C++ is.

The only godsend of C is that code written in the 1970's can still be compiled today -- half a century later. You can write code in your 20's in C and still be assured it will still work a half century later in your 70s. (as long as you don't use system libraries which might change.... etc.)

A lot of people complain about Rust compile times. But honestly, I'd rather work in a language that is trying to solve complexity rather than push it off on to the user.


Mostly because he doesn't get why some of us reach out for C++, despite its warts.

As I wrote at the time on Lambda The Ultimate back in 2012,

http://lambda-the-ultimate.org/node/4554#comment-71504


As much as I hate Go, I have to admit that it does sort of fill a niche, or at least it did at the time it was released. If you wanted something less baroque and complex than C++, but still care about performance enough to not want to use an interpreted language, and don’t want to use Java because it’s overly verbose and attracts OOP architecture astronauts, there wasn’t much choice other than Go when it came out.

There’s a very high probability that something like Cockroach would use C++ if Go had never existed, so Rob Pike was sort of right, if you squint. On the other hand, if Cockroach were started today it would probably be written in Rust.


I think you’re missing a couple key benefits to go: compile time and cross arch builds. The story here is best in class by far. It’s so so simple and fast to compile go for 10 architectures and distribute a binary.



Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: