Post 520551 by gsora@bsd.network
 (DIR) More posts by gsora@bsd.network
 (DIR) Post #520441 by cwebber@octodon.social
       2018-10-13T19:05:33Z
       
       0 likes, 0 repeats
       
       > Go concurrency is built on CSP [...] The mantra here is "Do not communicate by sharing memory; instead, share memory by communicating". This is wishful thinking however and cannot be achieved safely in practice.> > As we saw above there is no way in Go to have immutable data structures. [...] once we send a pointer on a channel, it's game over: we share mutable data between concurrent processes.WHAT!! No. Effing. Way. https://bluxte.net/musings/2018/04/10/go-good-bad-ugly/#the-bad
       
 (DIR) Post #520461 by cwebber@octodon.social
       2018-10-13T19:06:51Z
       
       0 likes, 0 repeats
       
       I cut out a lot of those paragraphs, but this is pretty stunning to me.  It doesn't sound like it's possible to build the kind of "shared nothing" environment such a system *should* have.Why do people think Go is a good async language?  I guess lack of exposure to better things...
       
 (DIR) Post #520488 by liw@social.nasqueron.org
       2018-10-13T19:08:40Z
       
       0 likes, 0 repeats
       
       @cwebber If your point of comparison is C or C++, Go is probably quite lovely.
       
 (DIR) Post #520493 by cwebber@octodon.social
       2018-10-13T19:09:45Z
       
       0 likes, 0 repeats
       
       @liw I guess that's so.  And Go is probably many peoples' first exposure to a concurrency system more advanced than simple callbacks.
       
 (DIR) Post #520551 by gsora@bsd.network
       2018-10-13T19:16:15Z
       
       0 likes, 0 repeats
       
       @cwebber yes, this is one of the aspects of Go that I don't like. You make up for the lack of immutable data over multiple workers with either novel way of treating the same problems that needed immutable data, or with mutexes. *Sigh*I'm sure there are change requests that asked for this feature to be added. Go 2 is undergoing development, everything can happen from now on.
       
 (DIR) Post #520734 by technomancy@icosahedron.website
       2018-10-13T19:27:41Z
       
       0 likes, 0 repeats
       
       @cwebber the simplicity that golang is so proud of seems to come mostly from ignoring the mistakes of others and refusing to learn from any advances that have happened since Hoare first published the CSP paper. it's really baffling how people see this as a step forward.
       
 (DIR) Post #520892 by onethousandtwentyfour@weirder.earth
       2018-10-13T19:36:55Z
       
       0 likes, 0 repeats
       
       @cwebber i think Go is a good async language the same way JavaScript is a good async language—good for client apps where the asynchronousity comes mostly from waiting to receive data over a network connection which you're never going to modify anywaywhat is baffling to me is the fact that the client ecosystem in Go is Pretty Bad and everyone seems to be trying to use it for Server Stuff instead?? which it is definitely not well-suited for
       
 (DIR) Post #522230 by joeyh@octodon.social
       2018-10-13T21:23:49Z
       
       0 likes, 0 repeats
       
       @cwebber marketing
       
 (DIR) Post #523789 by apg@bsd.network
       2018-10-13T23:20:20Z
       
       0 likes, 0 repeats
       
       @technomancy @cwebber yeah, it’s “almost CSP” being sold as CSP. It’s awful to be a part of. People at work think I am a grouch because I complain so much.