Live data from Hacker News

Why people in Google hate Go?

news.ycombinator.com

111–120 of 144 posts

Re: Why people in Google hate Go?

#111

Earlier quoted context omitted.

> What specific data modeling can I not do in Go You're getting into the Turing tar-pit. There's nothing you can do in Rust you can't also do in Go, technically. Hell, you can do it all in Brainfuck too, if you so desire. The big thing, though, is ADTs. Being able to say "the value is one of 3 possible values" is a lot easier than saying "here are three values, you should use the non-zero one".

> You're getting into the Turing tar-pit. I am fully aware of that. My question is, what specific technical problems are caused by Go not having {feature_goes_here}. > The big thing, though, is ADTs Except it isn't a big thing, because for the few use cases where an ADT is actually, really, really, REALLY required, they can be expressed in Go using existing language features. https://go.dev/doc/faq#variant_types http…

That link shows the Go type system's lack of expressiveness. You have to manually include things like the default case. Rust's compiler will do exhaustiveness checking for you, and you can't just forget about it.

Also, it's not about ADT's being required. They're preferred, and Go's type system suffers for their lack. Go is a living, breathing example of the blub paradox in action.

Re: Why people in Google hate Go?

#112
post #5

Go puzzles me. It's slower than C/C++/Rust and GCed, so not really suited for performance critical stuff. No OO so not really suited for larger complex applications. So for smaller not-performance-critical programs, why not Python, Typescript etc? It seems that its popularity exceeds its scope, or am I missing something?

Go is:

* Easier/safer than C

* Less dangerous than Javascript (statically typed and a good standard library)

* Much faster than Python

I think it's an excellent middle ground, compromise language. It's the centrist candidate of programming languages. Not the best at anything, but on average better than most.

Re: Why people in Google hate Go?

#113
post #102

Earlier quoted context omitted.

Gotcha. Would you mind checking if you happen to have PyOpenSSL installed inside the Python environment HTTPie runs from?

I did not have it installed. Installing it did not make a difference. If it's of any help, here's a profile generated using cProfile. [link redacted]

Thanks!

Re: Why people in Google hate Go?

#114

Earlier quoted context omitted.

The fact that Go doesn't have C's macros alone already makes it a lot simpler. And please don't get me started on writing concurrent code in C.

`//go:generate` is far worse than C's macros

That's just a glorified make rule. There's nothing inherently hidden or complex that it generates, unlike macros

Re: Why people in Google hate Go?

#115
post #50
post #5

Go puzzles me. It's slower than C/C++/Rust and GCed, so not really suited for performance critical stuff. No OO so not really suited for larger complex applications. So for smaller not-performance-critical programs, why not Python, Typescript etc? It seems that its popularity exceeds its scope, or am I missing something?

It's fast enough for most applications. Python and Typescript are unmaintanable. Everything around them breaks as the time goes by. I'd argue Python is not suitable for anything that spans more than one file or one week. I don't have enough experience wtih Typescript to hate it as much, but I know I spend most of my time fighting with the tooling. Again, unless you are writing a fresh application that is fine to thro…

Go is easy to understand like Brainfuck is. One singular piece is easier to read, but you've just spread the complexity around, making it hard to see the bigger picture.

Re: Why people in Google hate Go?

#117
post #5

Go puzzles me. It's slower than C/C++/Rust and GCed, so not really suited for performance critical stuff. No OO so not really suited for larger complex applications. So for smaller not-performance-critical programs, why not Python, Typescript etc? It seems that its popularity exceeds its scope, or am I missing something?

Go is: * Easier/safer than C * Less dangerous than Javascript (statically typed and a good standard library) * Much faster than Python I think it's an excellent middle ground, compromise language. It's the centrist candidate of programming languages. Not the best at anything, but on average better than most.

I'd add that it also ships with an incredible toolset alongside the installation, has a fully featured standard library, cross compiling is typically painless, and you get a single binary executable out the other side.

Re: Why people in Google hate Go?

#118

Earlier quoted context omitted.

The fact that Go doesn't have C's macros alone already makes it a lot simpler. And please don't get me started on writing concurrent code in C.

`//go:generate` is far worse than C's macros

I have written Go professionally for close to 10 years. The only time I encountered go:generate is in yacc parsers deep within libraries. A regular Go developer might go for years without realizing that it even exists. Compare this to C macros.

Re: Why people in Google hate Go?

#119

Earlier quoted context omitted.

> You're getting into the Turing tar-pit. I am fully aware of that. My question is, what specific technical problems are caused by Go not having {feature_goes_here}. > The big thing, though, is ADTs Except it isn't a big thing, because for the few use cases where an ADT is actually, really, really, REALLY required, they can be expressed in Go using existing language features. https://go.dev/doc/faq#variant_types http…

That link shows the Go type system's lack of expressiveness. You have to manually include things like the default case. Rust's compiler will do exhaustiveness checking for you, and you can't just forget about it. Also, it's not about ADT's being required. They're preferred, and Go's type system suffers for their lack. Go is a living, breathing example of the blub paradox in action.

> That link shows the Go type system's lack of expressiveness.

And I ask again what that is supposed to mean in technical terms, and what specific problems would be prevented if Go's type system was "more expressive".

> They're preferred

I am fully aware that for every given language feature, there are people who prefer that feature. And many languages reacted to that by including everything and the kitchen sink. That made many languages very "expressive", but that expressiveness comes at a cost: It also made the languages themselves become bigger and more complex.

Go isn't about having as many features as possible though. Quite the opposite, it's about having as many features as necessary, and as few as possible. Why? Because it keeps the language small and easy to learn and the code easy to read and maintain.

And to me (and judging by the sucess of Go I am not alone in this), that is a lot more important than a bit more "expressiveness" in things that one may come across every now and then.

Re: Why people in Google hate Go?

#120
post #28
post #5

Go puzzles me. It's slower than C/C++/Rust and GCed, so not really suited for performance critical stuff. No OO so not really suited for larger complex applications. So for smaller not-performance-critical programs, why not Python, Typescript etc? It seems that its popularity exceeds its scope, or am I missing something?

It compiles down to a single binary and is relatively easy to write. I think that is the reason it is such a popular language for CLI tools. You will never have an issue with missing dependencies or outdated runtime.

Nothing is stopping anyone from compiling C or C++ code into a single static binary too. This argument is bull$%!#.
Post reply on HN