- cross-posted to:
- golang@programming.dev
Great article. I write Java for my day job and Go by night. Java’s insufferable.
Back in the day, all the Java fan-boys would go on at length about how everything being a class was a good thing. “Object Oriented” was the way of the future and Java was the new hotness.
And then what did they go and add to Java? Lambdas. LAMBDAS!? Yes, lambdas.
W.
T.
F.
Don’t even get me started on how many distinct date/time libraries there are in the Java standard library alone. (Not even counting Joda Time which is still pervasively used.)
I’ll be honest. When a new version of Go comes out and I start hearing about the new features added to the language, I always have this moment of panic. (“Oh shit, they’re going the way of C++.”) But then I look into how they actually work and am very pleasantly surprised by how sensibly it was implemented. Iterators, for instance, are basically just a bit of syntactic sugar. Generics are probably the most significant addition I know of, but the community demanded them and I think the Go team implemented them the best way they could be implemented.