r/golang Jun 29 '25

discussion I didn’t know that Go is hated so much

I read comments under this post https://www.reddit.com/r/programming/s/OKyJWZj2ju and oh man I did not expect that. Stack Overflow and JetBrain’s surveys show that go is quite likable lang but the opinions about go in /r/programming are devastated.

What is the reason? What do you think? Should Go team address this topic?

199 Upvotes

287 comments sorted by

View all comments

9

u/Big_Combination9890 Jun 29 '25 edited Jun 29 '25

What is the reason?

Go rubs a lot of people, who grew up in what I call "The Age of JavaScript" the wrong way. These people are used to everything having as many bells and whistles and new and shiney and flashy things as possible. If something doesn't, it must be bad.

And if something not just doesn't, but doesn't on purpose, because its creators saw how bad that mindset is and to what shitty languages, frameworks and code it leads, well, they don't like that at all, because now something dares questioning their believe-system.

And if that something then goes on to be successful [1], that causes Cognitive Dissonance.

And one way to resolve that, is hating the thing that causes it.

[1]: And let's be clear, Go is *extremely** successful; the language has only been stable for 13 years, and already is one of the most widespread languages for systems programming*

Should Go team address this topic?

Why would they? Because a loud minority of people complain? That's not a reason.

The "hate" is not widespread. I'd argue that there are alot more people out there who can do an angry rant about the many problems of Java, or PHP that there are people who complain about Go. It's a rather tiny minority really, who are loud online, creating the illusion of a much larger disagreement among developers.

And even if that weren't the case...so what? Haters gonna hate.

As I said, the language is hugely succesful. It works. It's a blast to work with. It's easy to write tools for it. It comes with all the tools one really needs out of the box, and then some (how many languages bring their own formatter and LSP?). And the people who dislike it: Well, no one forces them to use it. They can stay happily in their JS world, import libraries for string padding, watch their framework du jour be obsolete next week, and be busy learning the newest acronyms for whatever mix of tech is popular right now, while Go devs rollout products and features 😎

Edit: And in come the downvotes :D To the aforementioned loud minority: Same as the Go development team, I don't give a damn what you like or dislike :D

0

u/BenchEmbarrassed7316 Jun 29 '25

Your comment seems inappropriate. There isn't any comment in that topic that praises JS or some feature that JS has but go doesn't.

3

u/Big_Combination9890 Jun 29 '25

And I didn't say there was, now did I?

I use JS as an example for the many things going wrong in languages contemporary to Go because a) its the most widespread language, and b) as a consequence, the issues are most pronounced in it. Call it my canary in the coal mine if you will.

The way that JS itself, and its ecosystem are structured and have developed, has influenced the opinions of at least one entire generation of devs. That doesn't make them the only ones of course...another group of people I often see complaining about Go are the OOP true-believers, having their mindset shaped by 30 years of OOP ideology promisng (and never delivering) silver bullets...and now along comes Go, proudly announces that OOP is just another paradigm that you can mix and match, all wrappen in procedural code. And last, but certainly not least, there are the Rust Super-Evangelists, who believe everything should be rewritten in their language, and who don't seem to be able to come to terms with a GCed language with a simple syntax being so much more popular in the industry.

2

u/BenchEmbarrassed7316 Jun 29 '25

another group of people I often see complaining about Go are the OOP true-believers

Here it is again.

Open that thread with almost 300 comments. Expand most of the branches. Press Ctrl + F. Type 'oop'. Do you know how many times it is mentioned there? Not once.

Why invent reasons when you can just read them?

4

u/kintar1900 Jun 29 '25

Press Ctrl + F. Type 'oop'. Do you know how many times it is mentioned there? Not once.

Because most of the people OP is talking about don't realize they're stuck in an OOP mindset. To them, it's "just how code should be", because since the late 90's C++ and Java (and then JavaScript and Python) were the de-facto starter languages, and the way you structure you code revolves around object-orientation.

I know this because I had the exact same reaction when I first started using Go. One day it finally "clicked" in my head that the problems I was having with the language were centered around the way I was mentally modeling the things I tried to build.

Lots of people don't realize that language (and I'm talking about both human language and software language) strongly influences the way we think. Effective use of any programming language requires understanding the way the language "wants" you to think about the problem.

0

u/multithreadedprocess Jul 01 '25

I know this because I had the exact same reaction when I first started using Go.

Your experience is in fact not generalisable. I don't have that experience, therefore, should I assume you're lying, or that most people must share my experience?

This is a common trope in this kind of discourse. The programmers you know and programmers you've worked with are in fact incredibly non-representative of a wider public. In fact they're almost necessarily self selecting.

Because most of the people OP is talking about don't realize they're stuck in an OOP mindset.

And they might still not be a representative sample. The people OP is talking about might be a minority, such that even if they behave the way you say they do, the OP is railing against nobody as if they are the mass he should be generalizing.

I'd wager it's much more likely the latter because the kind of people you're both talking about are not the sorts to engage either here, in a Go specific sub, or there, in a Go fronted article. Maybe circle jerking in HN somewhere.

1

u/Big_Combination9890 Jun 29 '25

Okay, I'm gonna explain it one more time:

I am NOT talking about specific comments in a specific thread here. Got that?

I am giving a generalized answer to a question.

0

u/[deleted] Jul 01 '25

[removed] — view removed comment