Live data from Hacker News

Why I Don't Like Golang (2016)

teamten.com

231–237 of 237 posts

Re: Why I Don't Like Golang (2016)

#231

Earlier quoted context omitted.

How much would a carpenter pay for a fancy bench top for their workshop? I'm guessing not a lot, since they can make one themselves. Programmers are toolmakers, and are therefore harsh critics of tools they use; just like a carpenter will tell you everything that's wrong with the design, and choice of wood that went into a pricey, but ultimately-affordable-to-a-carpenter bench top. Having access to cheaper, good-enou…

A carpenter is not going to make his/her own table saw. A basic table saw costs $300ish. I'm not writing my own IDE or my own database. I can, and I have, in times past. I do pay for tools that I need.

> A carpenter is not going to make his/her own table saw.

This is where the analogy breaks down, but they'd likely download a free one made by a consortium of other carpenters, which can be customized to their needs

> I do pay for tools that I need.

As have I: I was paying JetBrains yearly until they published plans to brick my IDE if I dared stopped sending them money. They walked this back after an uproar - but that episode showed me that I was also playing in their sandbox and subject to their every whim. I now default to using tools that can be forked at a moments notice (by myself or others)

Also, JetBrains IDEs were far ahead of the competition back then. For the tech stack and codebases I now work on (or perhaps additional experience?), none of the JetBrains IDEs are worth the effort. vim and a handful of plugins & scripts are adequate 95% of the times, VSCode takes me up to 98%, and it's diminishing returns beyond that

Re: Why I Don't Like Golang (2016)

#232

Earlier quoted context omitted.

This is stock example. Anything else?

Excluding any lines that aren't Go code, and from projects that I can recall off the top of my head: Kubernetes = 3.87 million, Go = 1.75 million, CockroachDB = 1.65 million, TiDB = 725k, Consul = 375k, Nomad = 375k, InfluxDB = 375k, Mattermost = 370k, Vault = 345k, rkt = 320k, Terraform = 275k, Grafana = 265k, Ethereum = 245k, Gitea = 225k, Dgraph = 205k, MinIO = 200k, Rclone = 200k, etcd = 185k, Hugo = 120k, Promet…

Ok, fair enough.

Love Syncthing, didn't know it was written in Go. Though I wonder why they wrote MacOS client in Objective-C instead?

Re: Why I Don't Like Golang (2016)

#233
post #5

They've fixed the import / modules situation to a point where it's usable and much improved, and generics have been added. However, the issue this brings up about structs / types not explicitly declaring which interfaces they implement is a real and unaddressed problem, especially in large codebases. The only tool that I'm aware of that finds implementations is GoLand, at steep JetBrains prices. Figuring out what typ…

Doesn't the official language server have support for this?

Re: Why I Don't Like Golang (2016)

#234

Why does Go get so much hate here? Almost all front page articles are about how Go suCkS mAn I know Go isnt great or perfect, but still, why so much hate? I seriously want to know

For many years Go has been displacing C/Python/PHP/Ruby/backend JS in situations where it's a clear win or at least the tradeoffs in tooling, speed, type systems, distribution etc. can be expressed in terms of agreed-upon technical priorities. Now there's a lot of Go code in the wild, projects people want to use or extend and programmers who will choose it by default, and it's starting to displace C#, Java, and C++ w…

Do you think Go is really starting to displace C#, and Java though? I rule out C++ because I really think rust is the one aiming for that spot. But Go for C# and Java? Hard to say until we see Go start to take over more of the business domain applications within enterprise IMO.

Re: Why I Don't Like Golang (2016)

#235

Why does Go get so much hate here? Almost all front page articles are about how Go suCkS mAn I know Go isnt great or perfect, but still, why so much hate? I seriously want to know

To be 100% fair, this post is a full 6 years old now. But also, I don't think it's specifically hate, it's more of a reaction to the overwhelming wave of posts here (and basically on every programming forum) from around 2014 to 2018. Go was so hyped it was unavoidable that if you were starting a project, dozens of comments would be shouting at you to use go. Some posts are people finally getting to say, "I told you s…

There's definitely valid criticisms, but a lot of it seems like hate. But I also agree that it's probably a reaction to the earlier hype wave.

I especially find it funny that people assume that people like Rob Pike and Ken Thompson who have published research papers on computer science forgot or misunderstand modern language features. They purposely made their language this way, for better or for worse. They never stated that they were trying to make the next Java. And all of the successful projects that have been released so far written in Go is proof enough that it seems they know what they're doing.

People complain online for a language they won't use instead of using the languages that are "superior" to make useful modern software.

Re: Why I Don't Like Golang (2016)

#237

Earlier quoted context omitted.

For many years Go has been displacing C/Python/PHP/Ruby/backend JS in situations where it's a clear win or at least the tradeoffs in tooling, speed, type systems, distribution etc. can be expressed in terms of agreed-upon technical priorities. Now there's a lot of Go code in the wild, projects people want to use or extend and programmers who will choose it by default, and it's starting to displace C#, Java, and C++ w…

Do you think Go is really starting to displace C#, and Java though? I rule out C++ because I really think rust is the one aiming for that spot. But Go for C# and Java? Hard to say until we see Go start to take over more of the business domain applications within enterprise IMO.

I mean, for Kubernetes, Go literally displaced the prototype in Java. And the surrounding tools that are all now in Go, would likely have been in Java instead. You could say it's been successful in part because it's not Java and therefore Go "grew the market" instead of displacing anything, but I think that's pretty weak - some kind of DIY cluster management was coming, and the state of things is that Go snatched it from Java.

I think Go is quietly taking over some business domain applications, reminiscent of Python ca. 2003 a lot of companies I see are using it for a few key components that benefit heavily from memory savings of value types and/or easier naive concurrency, but they're relatively quiet about it. There's also a small but significant cohort of junior devs today who learned to program by making games on fantasy consoles or homebrew hardware projects, want to keep working with those data-oriented patterns they learned C and C++, and Go supports that style a lot more idiomatically than Java. As much as I sometimes rant about "kids today", more of the current generation know the true value of a MB or a ms better than that of 10 years ago (Rust is helping a lot here, too).

Post reply on HN