Live data from Hacker News

Why Go gets criticized so much

npf.io

201–210 of 251 posts

Re: Why Go gets criticized so much

#201
post #171

Earlier quoted context omitted.

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??

In math, answers are made by questions. In life, the quality of your answers is determined by the quality of your questions. So make a concrete question based in reality if you want a specific, real answer that you can confirm against proof.

Re: Why Go gets criticized so much

#202

Earlier quoted context omitted.

Huh, funny enough - Go was my first try to replace PHP, but as I don't share opinion "copy-paste is better than generics" and "executable comments are ok", I tried Rust, and now I have REST API with 10000+ LOC - it serves multiple web apps and works just awesome and I really feel fun of programming and I'm enjoying language. So "I don't know why you'd want to write a web app in Rust" sounds ridiculous for me. Really,…

"executable comments are ok"? Where did you hear that?

Go has many "special comments" that actually do stuff:

* build tags (https://golang.org/pkg/go/build/)

* code generation (https://blog.golang.org/generate)

This is the exact point where you start to see that the Go creators are ok with hackery as long as it works and doesn't make the overall design too complicated.

Re: Why Go gets criticized so much

#203
post #23

Earlier quoted context omitted.

Just because most programmers don't actually program in Go themselves, it doesn't mean they don't know what it is. I haven't written a single line in Go, and yet it's immediately obvious to me what the title refererred to.

You have multiple people here telling you that their first reaction was not Go as in Lang. The obviousness to you and others does not prove the title is unambiguous to most. Here, we're trying to propose a solution that aims to eliminates ambiguity for the majority.

I believe we are still in majority. Nothing has proven otherwise

Re: Why Go gets criticized so much

#204
post #112

Earlier quoted context omitted.

The advantage with go is that errors have to be handled right away by the thing that may have caused it. The is versus, say a try/except with a dozen lines of code in the try, and then something like `except KeyError: pass`. You may have no idea which line caused the error or why it did so.

The general principles for fault tolerance require Separation of Concerns vis. Error Encapsulation (make sure that the contagion doesn't spread), Fault Detection (make sure that you know that someone is infected), and Fault Identification (you have ebola!). Error encapsulation (and this applies equally to modules, components, systems, architectures, organizations) is invariably best done at the lowest level possible,…

Actually the real idiom is not "handle errors where they happen" but rather "errors are values" (https://go-proverbs.github.io/). This means that there is no one true way to handle errors, but rather that it's up to you to build error management with the same tools you have to manage data. Maybe you want to process a list of stuff in parallel and report the first error that ever happens, the same way you'd want to use the first useful data that was processed by one of those parallel processes. Maybe you want to multiplex the error to multiple error processors, for some reason. Maybe you want to signal a watchdog but continue working. I believe bubbling up the error is a consequence of the Go community still being young and not having invested a lot in proper error management (especially since you don't always need something fancy) more than it is an idiomatic way of working.

Re: Why Go gets criticized so much

#205
post #34
post #25

Earlier quoted context omitted.

And as usual, http://9front.org/who/uriel/ Can you give some background?

spiritual leader of cat-v. good taster. http://uriel.cat-v.org/profile http://plan9.bell-labs.com/wiki/plan9//uriel/index.html https://en.wikipedia.org/wiki/User:Lost.goblin https://www.reddit.com/user/uriel https://news.ycombinator.com/item?id=4654125 https://www.facebook.com/archangel.uriel http://www.mozdev.org/pipermail/eu/2003-July/000001.html https://www.reddit.com/r/catv http://www.advogato.org/person/uriel/

I've never known anyone who's favorite movie was Three colors: blue. Maybe I've found my spiritual doppelganger.

Re: Why Go gets criticized so much

#206
post #203

Earlier quoted context omitted.

You have multiple people here telling you that their first reaction was not Go as in Lang. The obviousness to you and others does not prove the title is unambiguous to most. Here, we're trying to propose a solution that aims to eliminates ambiguity for the majority.

I believe we are still in majority. Nothing has proven otherwise

The majority in what I said is = [people who treat Go as GoLang first AND Go as the game Go first] = the set of all people reading hacker news minus those who don't know either Go. Writing GoLang removes ambiguity for this majority. My first comment on this subthread has shown that neither you nor any other poster has proven that Go = Go first for most. Nothing you or any other parent comment including my own has proven either of Go = GoLang first OR Go = Go the game first for the majority of people.

Re: Why Go gets criticized so much

#207
post #191
post #165

Earlier quoted context omitted.

A sample from the newer stuff in the .NET world: http://nancyfx.org How modern is that for you?

Same old same old? If you think nancyfx represents a leap forward I don't know what to say.

Comparing to the old ASP.NET web sites with "view states" and "user controls"?

Sounds like leaving behind the "legacy cruft" you talk about to me.

Re: Why Go gets criticized so much

#208
post #171

Earlier quoted context omitted.

What??

In math, answers are made by questions. In life, the quality of your answers is determined by the quality of your questions. So make a concrete question based in reality if you want a specific, real answer that you can confirm against proof.

Wow, you did all that nature analogy to say that the misunderstanding lies in the question and not in the answers?

Re: Why Go gets criticized so much

#209

Earlier quoted context omitted.

Huh, funny enough - Go was my first try to replace PHP, but as I don't share opinion "copy-paste is better than generics" and "executable comments are ok", I tried Rust, and now I have REST API with 10000+ LOC - it serves multiple web apps and works just awesome and I really feel fun of programming and I'm enjoying language. So "I don't know why you'd want to write a web app in Rust" sounds ridiculous for me. Really,…

"executable comments are ok"? Where did you hear that?

[deleted]

Re: Why Go gets criticized so much

#210
post #204

Earlier quoted context omitted.

The general principles for fault tolerance require Separation of Concerns vis. Error Encapsulation (make sure that the contagion doesn't spread), Fault Detection (make sure that you know that someone is infected), and Fault Identification (you have ebola!). Error encapsulation (and this applies equally to modules, components, systems, architectures, organizations) is invariably best done at the lowest level possible,…

Actually the real idiom is not "handle errors where they happen" but rather "errors are values" ( https://go-proverbs.github.io/ ). This means that there is no one true way to handle errors, but rather that it's up to you to build error management with the same tools you have to manage data . Maybe you want to process a list of stuff in parallel and report the first error that ever happens, the same way you'd want to…

That's the thing though. Errors can be data in plenty of other languages. It's just that it's not the only tool you're given, and there's other things you can do without having to reimplement it all from scratch every time.

Where a lot of people will say "go is opinionated", I keep feeling that Go is just not providing facilities I feel are part of what you should get out of the box (much like a standard library is one) and just shifts the burden to me to reimplement them all correctly. In doing so, you also lose the opportunity to have a well-designed approach that gets rather uniform adoption through the community.

Post reply on HN