Live data from Hacker News

Why Go gets criticized so much

npf.io

121–130 of 251 posts

Re: Why Go gets criticized so much

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

The first version of the Golang web site doesn't mention the web: "A systems programming language: expressive, concurrent, garbage-collected." However one of the first programming examples on the Effective Go page is a web server.

https://web.archive.org/web/20091112094121/http://golang.org...

Re: Why Go gets criticized so much

#122
post #106

One of Go's selling points is always it's a pragmatic language. But after using it for awhile and implementing a few web apps and APIs in it. I've crossed it off my list for web app or API development. It's great at making standalone CLI tools, however. I've since moved to using Elixir (erlang) for web app stuff (even some scripts) and I am much happier. I'm not in love with Elixirs syntax, but it's nice and includes…

What's the performance of Elixir been like for you? We're looking into it because of the actor concuttrncy model which we think will be much more performant than our current ruby or clojure solutions.

Re: Why Go gets criticized so much

#123
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

Go does have exceptions.

Re: Why Go gets criticized so much

#124
post #24

Couldn't this argument be made about all languages? People into dynamically typed languages would have statically typed languages for the same "don't touch my identity!" reason. I personally don't "hate" go. To be honest, I have barely read 20 lines of go ever. But I do not like the idea of a language specifically designed to limit my possibilities. I want to keep seeing "programming" as an art and a creative activit…

Nature works in the same way that it limits us to the fact that an effect can only be obtained by its commensurate cause. Anything is possible through that law as long as the appropriate cause can be formed.

Re: Why Go gets criticized so much

#125

The main problem with Go, and this is a deal breaker for me, is that it forces opening curly braces onto the same line, instead of putting them on a line by themselves. This is clearly wrong, and flies in the face of curly good taste.

Many, many people disagree with your basic deal breaker, completely unrelated to Go. E.g. the Linux kernel uses this brace style.

Now I'm wondering if I've just been successfully trolled.

Re: Why Go gets criticized so much

#126
post #96

Earlier quoted context omitted.

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.

Writing and debugging code in Go is extremely more pleasurable than debugging, say, python. I write Go all day while our data scientists write python. Unfortunately python gives those guys enough rope to hang themselves and me too. It's simply harder (not impossible of course) to write unmaintainable code in a limited, static language like go.

Python in a nutshell: What you gain in flexibility and terseness, you more than lose in needing 100% unit test coverage, because every line could fail to execute (with an error that many other languages would find at compile time).

Re: Why Go gets criticized so much

#127

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 thi…

I feel like the designers of Go tried to address criticism of C without considering any language designed after C. As a result there are improvements to some of the most egregious shortcomings of C (undefined behavior, a lack of basic reusable building-block data structures like lists and maps, crude build systems), but the subtler issues with C are still there. You still need to delicately route together error signals from every procedure which could fail. You still have a very limited ability to create new, reusable data structures. Common patterns are copied and pasted around your codebase because you have limited tools for abstraction and reuse.

Go proponents claim it's simple. I'm more inclined to call it simplistic.

Re: Why Go gets criticized so much

#129

Disclaimer: I work at El Goog. I recently moved teams so that I could use Go exclusively. It's often been said that Go solves the problems Google developers have, and it's 110% true. It's much easier to get things working, and it's much easier to write things like Protocol Buffers. But the key for me is that Go isn't fun in the sense of "wow, I'm so smart that I managed to one line this thing", it's fun in the "wow I…

Totally agree with your comment about monolithic code. I'm in a similar situation, at work I am primarily in a PHP pile of spaghetti, but in the past 2 months I've been lucky enough to develop micro services in Go.

Once I got over the initial learning curve and started to get the nuances I really enjoy working in the language. So much so I've started looking around for a full time Go position.

Re: Why Go gets criticized so much

#130

The gap between the premises and conclusion of this argument seems broad to me... Here's the summary: (leaving out some smaller arguments i.e. scala/rust vs Go language philosophy) 1. Go challenges peoples identity. 2. Challenging peoples identity makes them respond emotionaly not logicaly. 3. Other people are being deceived into liking Go. 4. People become more vocal as they attempt to sway the deceived from their e…

One premise that I think the author is wrong about is #3 (people being deceived into liking Go). My experience is that a number of folks liking Go is due to past experiences and recognizing Go's completely different approach resolves at least some of those deficiencies or the problems those practices eventually led to.

But, I think the main point of the article is that Go's complete 180 on many things challenges the beliefs of some and hence their identity. We see it every time a discussion on Go pops up.

Post reply on HN