Sunny Hirai wrote: > Hi All and thanks for the responses. > [snip] > I am > actually counting on, in the long term, a stable version of a VM, but am > willing to wait a year to get it and just pack power against it in the > shorter term. > There is one stable implementation at the moment, Ruby 1.8.5 "stable snapshot". It's not a VM -- it's pure C code, plus some Ruby once enough Ruby is built during the installation. A year out, there will be jRuby, built on the Java Virtual Machine and running 1.8.x syntax/semantics, probably YARV with different syntax and semantics ("Ruby 1.9.1"), and possibly something running 1.8.x on the CLR. If you get started building now, my guess is you'll be most likely going down the jRuby path if you want a VM. [snip] > Okay, now, that I've (hopefully) convinced you I'm attacking the problem > at an atypical level, back to the regular program. ;) > I wouldn't call it atypical ... but you are definitely "challenging" the language. :) > I found some of the information I wanted in not the eRuby or ERB pages > but in mod_ruby. > > It suggests that ONE instance of Ruby executes to handle all the > threads; however, it doesn't go into too much detail about how this is > handled. So, for example, if I call > > require 'somelibrary' > > It is actually only included into the code once. > > However, it doesn't say anything about where scopes begin and end. The > general feeling I'm getting is that there is very little documentation > on the guts of Ruby and I'd like to learn about them without having to > read the source code which I probably wouldn't understand anyways. > The best description of scoping in the Ruby language I've seen is in David A. Black's "Ruby for Rails". I've never used "mod_ruby", so I can't be of much help with it. For that matter, I stay as far away from Apache as I possibly can -- life is too short to know *everything* and so I've chosen to learn about Markov processes instead of Apache config files. :) As far as the "guts of Ruby" and reading the source code, it's actually quite readable once you've been through the Pickaxe book, understand the layout of objects, classes and pointers and know the material on interfacing C with Ruby. Ruby has a lot fewer ugly hacks than, say, Perl, or a modern finite element structural analysis code. > I feel like Ruby needs a "High Performance Ruby" book. There is one for > MySQL and that is the only reason I had the confidence to make the > decision to switch out of MS SQL Server. Knowing what I'm up against > would help tremendously. > I think the jRuby team is writing a high-performance *Ruby* -- perhaps that would be better than a book. One last comment -- from what the folks on this list tell me, programming in Ruby is supposed to be more fun than programming in other languages. Try not to get so bogged down in understanding how it all works that it stops being fun. -- M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P) http://borasky-research.blogspot.com/ If God had meant for carrots to be eaten cooked, He would have given rabbits fire.