Xbox 360 --- 188,000 units
PS3 ---------- 187,100 units
"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.
I've seen several attempts to build "erlang in x" where x = common
lisp, python, java, dotnet, etc. To the extent I've followed them they
implement a fraction of the message passing and then don't go much
further. Scala, etc. on the jvm and those on other conventional
runtimes have a problem. Integration with Java instances within those
runtimes is not shared-nothing. You have to remain aware of what is
and what is not following the actor paradigm.
Erlang's JInterface is probably a better integration mechanism in the
long-run than running in the same shared-memory OS process.
As for monitoring, certainly a quick glance would have shown Ted there
is SNMP, as Steve points out. But also isn't the entire
process-linking and supervisor hierarchy an important kind of
"monitoring", i.e. "monitoring for availability"? This is something
all these other platforms lack.
So the more I think about it, the less suited these other platforms
are for messaging amongst themselves *or* for monitoring!
Then I came across Avi Bryant's post on Strongtalk, a high-performance
implementation of Smalltalk, correcting an apparently common
misunderstanding that the speed has something to do with the optional
"Why do people make this stuff up? ... Strongtalk was that much faster
whether you used the optional static type system or not. Strongtalk's
optimizing compiler completely ignored the types, and it [types -ed.]
made your program run not one iota faster to add them."
"Designs are full of defaults--some explicit and most of the implicit.
Programmers don't pay enough attention to defaults. Rail's "convention
over configuration" is a great example of a system that carefully
thought through defaults. 37 Signals calls this concept opinionated