Live data from Hacker News

Why Go gets criticized so much

npf.io

71–80 of 251 posts

Re: Why Go gets criticized so much

#71

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…

If the engineer who wrote the code understood the problem well and was a decent engineer, then the code will be maintainable no matter what the language is. Understanding the problem well is very rarely achieved.

The issue is not "is the code maintainable" or "does Go lead to unmaintainable code".

The issue is, do I wish to spend my days debugging code and writing more code, in Go? I used languages with Go's limitations back in the 1990's. I don't want to go back.

Re: Why Go gets criticized so much

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

> Then Google announces Go. A cross-platform systems programming languages for high quality web services.

Did they actually advertise it as a language for web services? I thought it was designed for command line tools mostly, not for serving HTTP/HTML.

Re: Why Go gets criticized so much

#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 potential future costs.

Re: Why Go gets criticized so much

#74

Good points, and also correct answer. Identity is hard to question. But when you try Go without prejudice, it's just fun (and productive) afterwards.

I work in Go full time, so i don't know if that counts as without prejudice. But I do not think it is fun or particularly productive (if measured by the amount of stuff i can get done in a particular set of programming time). I'd say I haven't used a language I was less productive in or that I enjoyed less since Java 1.

What I think Go has done for me, is crystalize a belief I was already leaning towards, which is that a language being productive or fun is a lot less important than standards cutting through the issues that don't matter.

Not arguing about the best way to format code, or which test library to use, or how to share memory across threads is what makes Go valuable. It is implied that the language has to be this bad to achieve that, which is the open question to me.

Re: Why Go gets criticized so much

#76
post #44

There are many good things in go, but some very weird stuff too. Good things are multiple return values, lack of semicolon, optional braces for if and for, insanely fast compile time. Bad things are forced curly brace style, complicated function declaration syntax, variable declaration which is too different from C in my opinion (type after the variable name). I'd honestly prefer a language which is even closer to C…

Types after variable names are here to stay though: they are in no way something new, and make a hundred times more sense when there is type inference: If writing down the type is optional, then it should go last.

Given that some level of type inference seems to be the future of strongly typed languages, I expect variable ahead of type to become more and more popular among language designers.

Re: Why Go gets criticized so much

#77
Poor post. One of the worst thing you can do in a debate is to psychoanalyze your opponents, ascribe their stances to some sort of personality trait, and ignore the object level. More mundanely, it's just ad hominem, "haters gonna hate".

What little object-level substance is to this post is laughable. Basically: since Go doesn't have modern language features but it's evidently popular and works, all the people who like modern features are upset since it turns out the modern features aren't needed, after all. Half irrelevant, half assertion out of blue air.

Re: Why Go gets criticized so much

#78
post #50

Earlier quoted context omitted.

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

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.

Re: Why Go gets criticized so much

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

Elixir has optional typespecs that can be statically analyzed with a tool called dialyzer: http://learnyousomeerlang.com/dialyzer

Re: Why Go gets criticized so much

#80
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]
Post reply on HN