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".
Go Is a Shop-Built Jig
51–60 of 110 posts
Re: Go Is a Shop-Built Jig
#52"Go feels under-engineered because it only solves real problems" This belies a multitude of real problems Go doesn't solve, like generics or preventing data races
Re: Go Is a Shop-Built Jig
#53Earlier 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…
Re: Go Is a Shop-Built Jig
#54Notice 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…
Re: Go Is a Shop-Built Jig
#55Notice 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.
Re: Go Is a Shop-Built Jig
#56Earlier 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 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
#57Earlier 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?
Perhaps I could rephrase it as being conservative in my technology choices when building innovative products.
Re: Go Is a Shop-Built Jig
#58Earlier 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…
Re: Go Is a Shop-Built Jig
#59Notice 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…
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
#60Earlier 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".