Also, I am not sure there is one solution that fits all problems. It depends on your problem what is easiest to use. I mostly program Erlang, but I am following along on the Go-path since it is an interesting language - a modern C is my view of the language.
Concurrency in Go (or, Erlang done right)
11–16 of 16 posts
Re: Concurrency in Go (or, Erlang done right)
#12I like go and erlang, but the title is a troll.. Nowhere in the presentation does it compare the pros and cons of the go approach to how erlang does things. Sometimes selective receive with erlang's pattern matching is really useful. How about erlang's supervision hierarchies and recovering from errors? Erlang's hot code upgrades on long-running systems to avoid any downtime? Since go has/needs mutexes, it's laughabl…
I agree the title is misleading (I should also point out that this isn't my slide deck, but one done by Dmitry Vyukov). > Since go has/needs mutexes I'm not sure it's really fair to say Go needs mutexes, just that they are available for you if you need the performance.
Re: Concurrency in Go (or, Erlang done right)
#13Not logged in to Google so cant read. Why do public google docs links still need login?
That's weird. I am not logged into anything related to Google, but I can read the document at this link.
Re: Concurrency in Go (or, Erlang done right)
#14So suddenly I need to worry about mutexs and two processes accessing the same data. As an Erlang programmer that smacks of Erlang done wrong to me. I don't want shared access. With no shared access I can 'let it crash' and know that I have process isolation. This also means that OTP and my restart libraries will 'just work' Erlang For The Win! Go For The Gone!
> So suddenly I need to worry about mutexs and two processes accessing the same data. Only if you're implementing higher-level concurrency primitives and want to maximize performance. Did you completely ignore the context in which mutexes were mentioned in those slides?
Re: Concurrency in Go (or, Erlang done right)
#15Erlang takes another approach to many of these problems of concurrency. But I don't think you can argue that one is right while the other is wrong. Rather, right and wrong depends on your perspective and view on things. Also, I am not sure there is one solution that fits all problems. It depends on your problem what is easiest to use. I mostly program Erlang, but I am following along on the Go-path since it is an int…
Re: Concurrency in Go (or, Erlang done right)
#16Earlier quoted context omitted.
> So suddenly I need to worry about mutexs and two processes accessing the same data. Only if you're implementing higher-level concurrency primitives and want to maximize performance. Did you completely ignore the context in which mutexes were mentioned in those slides?
To be fair the slides never really makes any comparisons with Erlang instead just used an inflammatory title, so it is understandable if responses are a little hand-wavy. It just goes along given the level of discussion.
Totally true - the Erlang too-dumb-to-be-a-cheap-shot was unwarranted. There are responses already posted in this thread along the lines of "This doesn't have anything to do with erlang at all" and they're completely justified.
The comment I responded to was calling out specific details out of context and making silly comparisons from there. That's all.