Live data from Hacker News

Why Go gets criticized so much

npf.io

61–70 of 251 posts

Re: Why Go gets criticized so much

#61
Article didn't convince me to think following arguments are wrong:

* Go is a language stuck in the 70’s.

* Go ignores 40 years of programming language research.

I tried to use Go and was shocked how they can use it without package manager, without generics, with so brittle concept of channels, with executable comments in code and with so authoritative model of taking decisions about language evolution.

So I still think criticism of Go is valid and authors are still deaf to it.

Re: Why Go gets criticized so much

#62

I would burn Go with fire and salt the earth because it's the bloody compiler will refuse to compile my valid code if I have unused imports or variables. It makes programming in Go a terrible experience and that's why I won't touch it.

You'll love goimports then.

https://godoc.org/golang.org/x/tools/cmd/goimports

Hook it to your editor's save command and never worry about imports again.

On the other hand, stop leaving unused variables around...

Re: Why Go gets criticized so much

#63
Hate is a very strong word. I don't see a point in "hating". Strong dislike, however, I can see, and I think my reasons for not liking Go are "Go ignores 40 years of programming language research", "Go is a language for blue collar (mediocre) developers" and "that other people were falling for it." I guess I have a similar dislike for every technology which is primarily meant to make the life of the developer, rather than push the end product's quality. I guess I have a dislike for this culture, that has been brewing in recent years, in general. But is that my "identity"? I don't know. All I do when I see these types of technologies, is roll my eyes, and move on; it means I have to be more picky in my job picky when looking for jobs. People are taking this way too seriously.

Re: Why Go gets criticized so much

#64
post #28

I think there is a better explanation for why people dislike Go. All programming languages currently used for the web have gigantic downsides. They're slow. They have terrible package management. They have poor standard libraries. They have no static typing. They have no visual debuggers. They have no good IDE support. They don't integrate well with frontend code. Some programming languages are more flawed than other…

"All" languages used for the web have those downsides? This is part of why Go culture scares me a bit. You seem to be overlooking the huge amounts of software written in .NET and on the JVM, none of which suffers from the problems you just outlined: there are great IDEs, decent type systems, good interactive debuggers, strong standard libraries, reasonable package management etc. This mental blind spot towards the to…

I deliberately didn't mention specific programming languages because I knew that would lead to bickering about the relative merits of Python vs Java vs .NET vs Clojure, which would just distract from the greater point. Your curious assertion that I'm somehow part of "Go culture" only confirms this.

I think we can do a lot better than .NET or Java. .NET isn't even cross platform and Java has a lot of legacy cruft. Not to mention both platforms are pretty bloated and not even designed with the modern web in mind.

Re: Why Go gets criticized so much

#65

I would burn Go with fire and salt the earth because it's the bloody compiler will refuse to compile my valid code if I have unused imports or variables. It makes programming in Go a terrible experience and that's why I won't touch it.

I think that behavior is annoying, too. I've wonder if there's a way to tell the compiler to generate a warning for unused variables instead of just erroring out.

Re: Why Go gets criticized so much

#66
post #28

I think there is a better explanation for why people dislike Go. All programming languages currently used for the web have gigantic downsides. They're slow. They have terrible package management. They have poor standard libraries. They have no static typing. They have no visual debuggers. They have no good IDE support. They don't integrate well with frontend code. Some programming languages are more flawed than other…

Elixir is fast, has good package management, has a good standard library, exceptions are easy to read and debug, etc. Elixir doesn't have static typing, but it is functional, so it doesn't really matter as long as your initial assignment is correct. I can't really comment on IDE integration, since I never use anything but Vim.

Maybe the static typing and IDE support are enough to make Go awesome for some, but they don't really matter to me as much as concurrency, hot-plug code deployments, the actor model, and stability.

Re: Why Go gets criticized so much

#67
Go itself is a cool tool. Crosscompiling stuff, a great standard library, nice toolkits like gorilla and marshalling from/to structs/json/xml comes in handy for small everyday tasks and the primitive imperative style combined with easy-to-use goroutines and quite good performance ... together its a very great tool.

But I just can't stand the "the go way!" people who defend every fault the language itself has with this mantra. I use go sparingly for small scripts and little services, but would never ever use it for big projects. Yes, for programming rookies in a team its very easy to get started to make valuable contributions, but I for myself just want a more adult language with rich expressiveness and actual static typing (interface{} vs. generics sigh). I understand Go as a "compiled PHP" with all the pros/cons one would associate, and accept that it aims to be a "C as it should be".

I do not hate Go in any way, I use it when appropriate.

(PS: I recently realized for myself that Rust will be the ultimate game changer, just give it a few months/years to grow mindshare organically. It's everything but a beginner language, though.)

Re: Why Go gets criticized so much

#68
post #50

I don't hate Go. I do strongly dislike posts with clickbaity titles that have an admission the title is wrong in the very first sentence. The rest of the article is little better. It can be summed up in one line: People who dislike Go are upset because they incorporated their favourite programming language into their identity, and the success of Go challenges their own choices . Although I don't hate Go, I also don't…

"I dislike Go because I agree with the criticisms of it and I'm afraid I might end up having to maintain code written in it one day" and: "I also don't like Go much, but it's not because it challenges my identity" You are EXACTLY who the article is talking about. One of Go's selling points is maintainability. Go's inherent bias towards maintainability challenges your identity.

Isn't that fairly subjective? Some people find Lisp hard to parse and therefore to maintain but that doesn't mean it's inherently unmaintainable.

Re: Why Go gets criticized so much

#69
post #28

I think there is a better explanation for why people dislike Go. All programming languages currently used for the web have gigantic downsides. They're slow. They have terrible package management. They have poor standard libraries. They have no static typing. They have no visual debuggers. They have no good IDE support. They don't integrate well with frontend code. Some programming languages are more flawed than other…

"All" languages used for the web have those downsides? This is part of why Go culture scares me a bit. You seem to be overlooking the huge amounts of software written in .NET and on the JVM, none of which suffers from the problems you just outlined: there are great IDEs, decent type systems, good interactive debuggers, strong standard libraries, reasonable package management etc. This mental blind spot towards the to…

"Decent" is being very kind to any language that has a type system where every reference type is implicitly a Maybe (okay, Scala exists).

Re: Why Go gets criticized so much

#70
I like functional languages but I strongly dislike their communities. Mainly because they treat everything like a nail... Golang on the other hand focuses on solving real problems not inventing things like metaisomorphic multipolymorphism etc...as always technology is fair! Go check out the "real life" projects in go and the adaptation they enjoy.
Post reply on HN