Hacker News new | ask | show | jobs
by jarbus 1263 days ago
What's with all the Go hate on HN all of a sudden?
5 comments

It is not all the sudden as far as I can tell. There's a long history of Go hate, and it makes sense to me. Go is a new(ish) and fairly popular language, which already guarantees some level of hate. More substantially, it is an implicit argument against most things language enthusiasts like about programming languages; it's lack of static features and dynamic capability, it's non-focus on optimality in any domain, there's no attempt at uniform elegance or a motivating theory, it's just a kinda mundane procedural language that tries to solve some problems C enthusiasts had while avoiding the things that bugged them about Java and C++ (to oversimplify). A language such as that succeeding socially and practically is borderline offensive to folks who love clever language and runtime design, who love things that can push the boundaries of performance or verifiability.

Something so apparently mundane and poorly thought getting traction is a regression in the world of software engineering, supported by a Big Evil Corp that many folks dislike.

I've also personally seen a social meta-effect of this, where in a particular space all of the language aficionados would make a point of dumping on Go whenever Go was discussed (or even when a dig at Go could be shoe-horned into another discussion), and at a certain point there are only negative discussions of it, and the snobbery (justified or not) is a form of social bonding.

Of course, there are loads of legitimate criticism to be applied to the language design, the runtime, the rollout, the marketing, the framings of the authors, but there's a persistence, a snarl, to some of the critics that seems to me to go beyond an observation of the real issues. For reasons listed above, some people seem to take hating Go quite personally.

The HN audience started out with fans of essays like http://www.paulgraham.com/avg.html and http://www.paulgraham.com/hundred.html, and now a language arose that seems to intentionally embrace the blub paradox.
What exactly is novel about Go? The only thing that comes to mind is go routines, but it is not integrated well in the language for several reasons, and concurrency is just a very hard problem. Otherwise it is the exact same thing as the litany of basic managed languages.
Why should a language be novel? If you have to hang something on the wall, are you going to discard screws and plugs because they've been around for quite some time?

Go is good enough. It has some short-comings. I'd like to see non-nullable types, even though I haven't had a memfault in ages. But it's easy to write it, runs fast, is memory efficient, and runs practically everywhere without a fuss. For normal software, that's such a big plus. I'd hate to have to go back to Java.

Well, the screws and plugs are Java and the litany of older managed languages we have with almost the exact same guarantees.

Why should I throw it away and buy a new set which will give me the same thing?

Languages have advantages and disadvantages, aside from being novel. Java is a memory hog in comparison to Go; Go is probably a bit faster in execution. The "eco system" for Go is pretty good, tooling too; I'm sure Java has a larger set of libraries and frameworks to choose from, but less easy to integrate. Idk about the current state, but Eclipse and Netbeans were so unpleasant when I did Java.

The choice is yours, novelty or not.

Go has never been particularly popular on HN. It’s a bit on the nose, but lots of people here like to think of ourselves as clever (whether it’s true or not).

Go, philosophically, is a terrible language to show off in. It’s intentionally designed for every line to require as little brainpower to understand as possible. It’s not an aspirational language - unless you aspire to be able to hire lots of junior programmers and make sure they don’t cause too much trouble.

The lukewarm support go had here was because it was still new and trendy. Rust will lose its lustre in a decade or so too, and the tone will inevitably turn more negative. You can see the pattern slowly play itself out at the moment with docker.

Mēh!

> The lukewarm support go had here was because it was still new and trendy. Rust will lose its lustre in a decade or so too, and the tone will inevitably turn more negative....

Are Rust and Go not the same age?

> Are Rust and Go not the same age?

Rust only really started to get traction after 1.0 landed in 2015. Even then, writing web services and things like that in rust has only really been ergonomic in the last few years as async/await has stabilized. Rust is still a pretty niche language, and its much easier to admire something from a distance.

Go hit 1.0 in 2012, but people started using it in production before even then.

I'd say the 2018 edition was even more relevant (and that was late 2018, in fact). Rust was very hard to use prior to non-lexical lifetimes. So the real mass popularity of Rust is very recent.

Also why it's a bit silly to compare Rust to any other language (just pick your favorite: Go, C++, Java/C#, Python/Ruby, Haskell/Elixir, Javascript/TypeScript etc. and expect it to be just as popular. There's a whole lot of legacy projects written in older languages and they have to be maintained, even though some stuff does get ported to Rust in the meantime.)

People seem to get really upset about a language that does not do what they want, or how they want it to be done, so they write articles about the language nobody is forcing them to use.

I get that Rust or C++ has more power or expressiveness, but neither of those come without additional cognitive effort for us non-CS types. But if I don’t _need_ to work in Rust to get my work done, why bother ?

Go is good enough for me, Rust for others, etc. Hating a technology that you can choose not to use seems futile.

> language nobody is forcing them to use

Only if I were adamant enough to quit each time it happens (I say this having joined a team that was explicitly Java/Scala-focused, and yet.)

Rust fans trying to convince everyone it's the next big thing
wouldnt say its all sudden, this article has been linked multiple times before and there is probably 2-4 go hate threads per months on HN.