Live data from Hacker News

Why Go gets criticized so much

npf.io

81–90 of 251 posts

Re: Why Go gets criticized so much

#81
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 do…

[deleted]

Re: Why Go gets criticized so much

#82
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 do…

[deleted]

Re: Why Go gets criticized so much

#83

Earlier quoted context omitted.

"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).

Go and Scala also allow every pointer to be null, no? Scala has an option type, but so does Java 8. Defining one in C# is easy.

But there is Ceylon, Kotlin, Clojure, whatever. Kotlin uses ? suffixes to define if something is optional. And at least the code interops nicely. You can inherit a huge Java codebase and slowly convert the code over. No such luck with Go. Unless you're converting into C!

Re: Why Go gets criticized so much

#84

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 am not agreeing with your sentiment for Go but I do want to strongly agree with this statement: > I'm afraid I might end up having to maintain code written in it one day I have similar fears about Ruby. This is also true of many contractor firms where they write beautiful tested code which is designed to work really well right now, but not designed to last (think views rendering database objects). I think this is a…

I think python is going to keep eating ruby's lunch as more universities teach it.

Re: Why Go gets criticized so much

#85
post #14

Earlier quoted context omitted.

With golang, it is incredibly easy to get productive fast. It's like modernized, safe C with good standard library and trivial deployment. Those are pretty good selling points for getting stuff actually done. Using Haskell for similar stuff is more tedious, even if a actual coding is more fun. I can see (and sometimes feel myself) the cognitive dissonance here.

I think the issue here is that you're comparing Go to C and Haskell. C is decades old. Haskell was designed to help you write correct programs, rather than simplicity of use or productivity (or that's how I'd characterise it). If you compared Go to C# or Java 8 or Scala, it'd probably look a lot worse. Deployment isn't so difficult that Go has any advantage in my experience: install a JVM on the server, ensure your b…

I use C# at work, and I use Go at home. I really do like C#, but there is a reason I am using Go at home. I find I am more productive, and can develop better code faster with Go even though I am very new with Go.

Re: Why Go gets criticized so much

#86
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…

A web service has to consider errors more carefully than you might think.

Re: Why Go gets criticized so much

#87
post #35

It's so easy to dismiss legitimate criticism of any issue as "hate" and "people are emotional" and "their identity is threatened". At the end of the day, there is legitimate criticism of Go, just as there are legitimate advantages of using Go. As an additional fact, Go's core developers (and some users) have repetedly been dismissive of this criticism.

Yes, this article tries to make it sound like issues with Go are solely due to identity, but that's not the case. If I like to use soap and analgesics, is that part of my identity or just common sense application of technology?

There are studies that suggest using analgesics may negatively affect your judgement, so there's that.

Re: Why Go gets criticized so much

#88
post #78

Earlier quoted context omitted.

Selling points are not facts, they're just arguments people who are trying to sell something like to make. Go's users and designers make all sorts of claims about it. As it happens, I've evaluated them and find that I often disagree with them. For instance, Go projects often don't specify the versions of their dependencies and choose to just clone the code into their own source tree instead - if you're lucky. If you…

"Selling points are not facts" except when talking about maintainability, you are not talking about facts. Show me the "fact" that Go is hard to maintain.

I never said code written in Go is hard to maintain. I said I don't want to maintain it, because I don't want to debug or write Go myself. You're arguing with a straw man.

Re: Why Go gets criticized so much

#89
post #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...

I hate debugging someone else's code that has unused variables in it as much as this guy seems to hate the go compiler.

Re: Why Go gets criticized so much

#90
post #73
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…

"The lack of exceptions makes writing correct code really tedious." Tedious up front often translates into time saved down the road. Exceptions are often an easy way out while accruing future debt. Unfortunately, our industry cannot easily measure the time saved down the road and so cannot properly value it. However, many with long term interests in a project will often spend on the "tedious" costs up front to avoid…

> Exceptions are often an easy way out while accruing future debt.

Is there perhaps a concrete illustration on how using exceptions causes technical debt, especially in a GCed language like Go?

Post reply on HN