Thursday, February 22, 2007

Stackless Python vs Erlang


To follow up on my Erlang post, while I won't be attempting to use Erlang at work, I may well be interested in it outside employment venues. Right now I'm thinking about the difference between Stackless Python and Erlang. Looks like the primary advantage of Stackless is that well.. it's Python! The language is less "weird" to most people, it's fully OO (for those who forget how to design non-OO systems) and has a concurrency model. On the downside, it looks like the IPC semantics are "simpler" yet more complex than Erlang's. In Erlang the only thing you can really do is send a message, and receive a message, Stackless has a whole queue model that involves threads blocking and the like. I don't know enough yet, but I suspect the basis of Stackless's concurrency model is in those blocking queues - each block is a hint that it's time to switch tasks.



Anyone have any advice or thoughts re: Stackless? I know Erlang well (it's pretty simple, so not hard), but I'd like more information on the pros and cons of Stackless.

2 comments:

Bex said...

Somebody put together a benchmark, and Stackless Python either matches OR BEATS Erlang:

http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/

Anonymous said...

Stackless Python Tutorials and Resources
http://islab.org/stackless/