Ruby supports multithreading as a programming construct, even under such operating systems as DOS where none is native. Ruby's cooperative multithreading has been implemented in terms of green threads with considerable care and has a prominent place in well-styled Ruby programs. The standard library includes useful Mutex and ConditionVariable helper classes, which help structure multithreaded applications. Ruby takes pains to avoid blocking on system input/output functions. On the other hand, Ruby doesn't scale. It doesn't take direct advantage of symmetric multiprocessing (SMP) hardware. Moreover, it relies on standard libraries for heap management; these are notorious for their poor scalability. However, Ruby appears to be in a better position than older languages to improve these performance bottlenecks, should it prove important. Among the merits of the book Programming Ruby is that it explains Ruby's thread programming quite clearly.
ActiveState Tools is one of several companies built on open source scripting languages. To promote this connection and return a bit of attention to the communities that support these languages, ActiveState sponsored a competition this winter to name top Perl and Python programmers. Congratulations to Tim Vroom, Christian Tismer, Nick Ing-Simmons, and Greg Ward. See the Resources section below for the press release describing their accomplishments.
- David Korn:
- Homepage for the KornShell Command and Programming Language:
- On ksh programming:
- Ruby homepage:
- Programming Ruby, David Thomas and Andrew Hunt (Addison Wesley Longman, 2000):
- ActiveState Active Awards:
- Cameron Laird's personal notes on GUI toolkits:
- Scripting Languages & Techniques: