From: "M. Edward (Ed) Borasky" Date: 2007-04-18T22:36:20+09:00 Subject: Re: Could Ruby be a good Erlang-like? Jason Roelofs wrote: > I have yet to actually mess with Erlang (I definitely plan to), but doing > what you're asking seems like an almost monumental waste of time. The > reason > Erlang works the way it does is because it was built from the ground > up to > support massively parallel processing. Ruby was built from the ground > up as > your normal single-threaded (with support for green-threads) dynamic > programming language. > > So it seems that what you're asking is to rewrite Erlang to work with > Ruby > syntax; this is not something that can be patched into the Ruby VM. > > Jason Well ... maybe. I think the original poster is asking for the Ruby VM/inner interpreter to be extended with some core semantics taken from Erlang. I think it *can* be done, but the question is *should* it be done? My own personal belief is that it should. At the very least, the Ruby VM should make available all of the OS concurrency primitives supported by Linux, MacOS, Solaris and Windows as efficiently as possible. dRB and threads aren't going away, but there are many other ways to do concurrent programming sensibly. That said, one of the other things that adding concurrency does to a language, any language, is to force its community to think harder about correctness issues. The Erlang community has put a lot of thought into this, given that their target market is communications systems that must work when entire cities lose electrical power, etc. They have correctness-checking tools, and syntactic and semantic constructs in the language to support these tools. The attitude I see expressed in the Ruby community is "testing conquers all". That's clearly insufficient, since testing can only show the presence of bugs and not the absence of them. :) So yes, it's a good idea. But if you need Erlang now, use Erlang now. -- M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P) http://borasky-research.net/ If God had meant for carrots to be eaten cooked, He would have given rabbits fire.