Live data from Hacker News

Go Is a Shop-Built Jig

robnapier.net

51–60 of 110 posts

Re: Go Is a Shop-Built Jig

#51
post #43
post #14

I would switch from python to Go but - Type system needs to be improved e.g. generic code - Verbosity, duplication of code are painful - Lack of functional features - Tooling - Maturity

- Designers of the language forced their where-braces-go religion on everyone by building it into the language. For me, that means every time I attempt to write code in Go my nose is rubbed in the "this language was built by assholes who have no respect for you".

Are you being ironic? I guess it wouldn't overly bother the OP, considering he's switching from python, where "the designers of the language forced their mind-your-indentation religion on everyone blah blah blah".

Re: Go Is a Shop-Built Jig

#53
post #42

Earlier quoted context omitted.

So you're saying you want programming to be hard because that means you get to work with smarter people? I think what Go is striving for is simplicity, not elegance. And that change makes the code easier to write and maintain for everybody involved. At 10AM I might feel like writing Swift, but at 3AM I'm sure as hell glad I used Go. Or, less anecdotally, I maintain about twelve services in Go, including web services,…

When things get serious, I think you'll discover that Go provides far less reliability, and is far more complex. (What's simpler than "it's already handled for you with OTP and battled tested for 2 decades"? That's a lot more simple than "you can't do it in this language and you'll end up with a poorly implemented half version of OTP in Go." Of course for toy or small services, go is fine. Erlang certainly could use…

I'm not sure YouTube or dl.google.com qualify as "toy or small services", nor the handful of other relatively large businesses building on top of Go (CloudFlare, Iron.io, etc).

Re: Go Is a Shop-Built Jig

#54

Notice the author would still rather use Swift when he's doing fun stuff. I get this sentiment and more than once I've wished there were more constraints in the language to mitigate the damage some kid with a chip on their shoulder could do but it says something about the psychology of programmers, "I know personally I'm good enough to do magical, wizardly stuff with all the cool stuff that Swift gives me but you, we…

"I know personally I'm good enough to do magical, wizardly stuff" In my experience really good developers don't see it like that, they see it more like the Brian Kernighan quote: "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?" It isn't that they are worried that "lesser" programmers will make…

I agree but you can do that in any language. That's more a reflection of the programmer than the language.

Re: Go Is a Shop-Built Jig

#55
post #49

Notice the author would still rather use Swift when he's doing fun stuff. I get this sentiment and more than once I've wished there were more constraints in the language to mitigate the damage some kid with a chip on their shoulder could do but it says something about the psychology of programmers, "I know personally I'm good enough to do magical, wizardly stuff with all the cool stuff that Swift gives me but you, we…

I have a rule when I make project technology decisions: If we understand the domain and understand what we are building then we can afford to be innovative on the technology. If we are trying to be innovative in what we are building then we need to choose proven (aka boring) technology.

So you choose Erlang then for highly reliable and available network applications?

Re: Go Is a Shop-Built Jig

#56
post #49

Earlier quoted context omitted.

I have a rule when I make project technology decisions: If we understand the domain and understand what we are building then we can afford to be innovative on the technology. If we are trying to be innovative in what we are building then we need to choose proven (aka boring) technology.

So you choose Erlang then for highly reliable and available network applications?

I think by "proven" he's implying that it's proven to himself, that is, that he's familiar with it.

I kinda like that philosophy, and didn't realize that I somewhat adhere to it: I tend to try to keep to tools I'm familiar with when I'm solving problems that I know are new to me. It lets me focus on the problem and avoid thinking too much about the tools. But if I'm in learning mode or need to implement something I understand well, I'll often reach for a new tool just to play around with it or try something different.

Re: Go Is a Shop-Built Jig

#57
post #49

Earlier quoted context omitted.

I have a rule when I make project technology decisions: If we understand the domain and understand what we are building then we can afford to be innovative on the technology. If we are trying to be innovative in what we are building then we need to choose proven (aka boring) technology.

So you choose Erlang then for highly reliable and available network applications?

If I had a team who had built in Erlang before, then possibly. But there are numerous other platforms with a proven track record in that too.

Perhaps I could rephrase it as being conservative in my technology choices when building innovative products.

Re: Go Is a Shop-Built Jig

#58
post #56

Earlier quoted context omitted.

So you choose Erlang then for highly reliable and available network applications?

I think by "proven" he's implying that it's proven to himself, that is, that he's familiar with it. I kinda like that philosophy, and didn't realize that I somewhat adhere to it: I tend to try to keep to tools I'm familiar with when I'm solving problems that I know are new to me. It lets me focus on the problem and avoid thinking too much about the tools. But if I'm in learning mode or need to implement something I u…

Yes, this is another aspect: I think there is only a certain amount of "new stuff" the brain can absorb in a given time period. You need to choose what to use that learning budget on.

Re: Go Is a Shop-Built Jig

#59

Notice the author would still rather use Swift when he's doing fun stuff. I get this sentiment and more than once I've wished there were more constraints in the language to mitigate the damage some kid with a chip on their shoulder could do but it says something about the psychology of programmers, "I know personally I'm good enough to do magical, wizardly stuff with all the cool stuff that Swift gives me but you, we…

> "I know personally I'm good enough to do magical, wizardly stuff with all the cool stuff that Swift gives me but you, well, you need some training wheels so we're gonna use Go for this project".

It could also be that he realizes that he is a PL snob/geek, and that makes him more likely to pick up and learn weirder/'more powerful' languages/paradigms. Other programmers (arguably most programmers) aren't PL geeks, not for a lack of ability, but for a lack of interest. Choosing to use more advanced languages may be great for him, but may just cramp the style of other people that aren't PL geeks.

Re: Go Is a Shop-Built Jig

#60
post #51
post #43

Earlier quoted context omitted.

- Designers of the language forced their where-braces-go religion on everyone by building it into the language. For me, that means every time I attempt to write code in Go my nose is rubbed in the "this language was built by assholes who have no respect for you".

Are you being ironic? I guess it wouldn't overly bother the OP, considering he's switching from python, where "the designers of the language forced their mind-your-indentation religion on everyone blah blah blah".

The indent-backwards programmers must have felt very offended by that. :)
Post reply on HN