Live data from Hacker News

Why Go gets criticized so much

npf.io

171–180 of 251 posts

Re: Why Go gets criticized so much

#171
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.

What??

Re: Why Go gets criticized so much

#172

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

What is an "adult language"?

Re: Why Go gets criticized so much

#173

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…

FWIW, I have relaxed my opinion on web apps a bit ;) I do think that it's not a strong point, but there are places swhere it could make sense. Especially with some more libraries. I thought I made a comment more recently than https://news.ycombinator.com/item?id=10312354 , but whatever. :)

But the general point does stand: languages have different strengths, and that's totally okay.

Re: Why Go gets criticized so much

#174
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...

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

I don't think there's any problem with doing that. I use a linter to stop me committing code that has unused variables in it, and to highlight those kinds of style issues in my editor so I'm aware of them. But for a compiler to refuse to run unpolished code in development is just bad design.

It's as if Go's designers took the hubristic or naive view that all code would, in an ideal world, be typed out perfectly first time, as opposed to being gradually hammered into shape through trial and error. This is worse than a design flaw, it feels like an active imposition.

Re: Why Go gets criticized so much

#175

Earlier quoted context omitted.

If it's clearly wrong, can you articulate a reason? There is at least one (mild) argument in favor of opening a curly brace on the same line: code takes up less vertical space, allowing a programmer to view more of their program on a given screen at once.

I use both styles in the same code: if (simple_condition) { } else { } for (long and stuffed; expressions; here) { } if ((complicated || multi_line) && condition) { } void function() { } In an if, all the "else if" and "else" clauses have to follow the same style. If any is braced, they all have to be. By the way, is grandparent kidding about Go enforcing this? The only language I can think of which enforces curly br…

RATIONALE: why the two styles? Why

  if (simple_condition) {
    code;
  }
but:

  if ((complicated ||
       multi_line)
      && condition)
  {
    code;
  }
?

Simple: it's because in both cases, the "code" follows a previous line from whose first non-whitespace character it indents by the indentation level:

  if (...
  [INDENT]code

  {
  [INDENT]code
This is just wacky:

  while (blah
         blah
         blah) {
    code
  }
"code" isn't "indenting off of" anything. It is not related to the indentation of "blah" in any way, but appears to be "deindenting" from it!

So, rather than dogmatically doing one thing or another, it's better to consider all the alternatives, their relative advantages and disadvantages, and integrate them into an elegant whole.

Re: Why Go gets criticized so much

#176

Go is one of the fastest runtimes out there, on nearly every platform, produces one clean static binary, fixes the concurrency/async problem that makes other lanaguages so terrible to code in, and has one huge company backing it. But then they miss the boat on simple stuff like generics. Everyone hates Go because it solves the problems that most other languages suffer from. And if they (Google) make a few improvement…

Elite smugness? Hardly. Russ Cox has stated repeatedly that he's not against the implementation of generics in Go. Adding generics to a language is a very complex process and you have to be careful with the method you select because you're stuck with it forever. When they find a proper way to implement generics in Go then they'll do so, but they're not going to be pressured into creating a bad implementation.

https://news.ycombinator.com/item?id=9622417

Re: Why Go gets criticized so much

#177

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…

What are executable comments?

Re: Why Go gets criticized so much

#178

I've been working in Go now for over a year and its honestly made my day-to-day life as a software engineer enjoyable. What gets me down about working in this industry is toiling away on products only to never see them released or being frustrated by absurd compile times, poorly tested components and abstract cathedral architectures. I worked on large C++ projects for around 7 years and i don't care for another flame…

> "If someone creates a ML variant with a day-to-day experience as clarified as Go then I will gladly jump on board."

What about F#?

http://fsharp.org

As a side benefit, it's appears to be the top paying tech worldwide ...

http://stackoverflow.com/research/developer-survey-2016#tech...

... as well as one of the most highly regarded languages by those who use it ...

http://stackoverflow.com/research/developer-survey-2016#tech...

Even if you end up not liking it, I'd say it's worth a try.

Re: Why Go gets criticized so much

#179
post #142

Earlier quoted context omitted.

I don't dislike Go. I just think there are zero use cases where Go is the best choice. But what I do dislike is when people try to hype and con others into adopting a language to justify and increase the return on their own time investment.

> But what I do dislike is when people try to hype and con others into adopting a language to justify and increase the return on their own time investment. The same can be said of any programming language community, IMHO.

Sure. I think it's more prevalent among Go zealots, probably because so many were lured into it by the inital hype, but it's not at all Go-specific. Another example is the hype and love-hate relationship people have with Javascript MVC frameworks. Even with React, which actually deserve the hype, there are many who default to "hating" it because they're sick of being fooled by all the hype.

Re: Why Go gets criticized so much

#180
post #91

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…

Java and C# have a first class ideology (object oriented) that does not align well with functional web servers which is how almost everyone writes theirs nowadays. These languages are getting better about it, but they are tacking on functional programming to a language that traditionally was strictly OO, and in the same way C++ has a lot of edge case behavior in being "OO tacked onto imperative" these languages suffe…

Last time I checked there was plenty of FP choice on JVM and .NET stacks.
Post reply on HN