New Ruby Book!

Ruby No Comments »

I finally got my copy of The Ruby Programming Language by David Flanagan and Yukihiro Matsumoto (Matz!), with illustrations by Why the Lucky Stiff!

Apparently Borders lost my special order (since they never contacted me), but it was on the shelf.

The new book is based on the old Ruby in a Nutshell book by Matz, but promises to be more complete, attempting to adopt some of the style of the classic The C Programming Language by Kernighan and Ritchie.

The book covers Ruby 1.8 and 1.9 and seems to be more focused directly on the language (and seems a bit more concise) then Programming Ruby, second edition by Dave Thomas, Chad Fowler, and Andy Hunt. (It should be noted that Programming Ruby, third edition is also on it’s way and will cover Ruby 1.9 as well.)

Admittedly, I’m only a few pages in though!

Current Status

Ruby 2 Comments »

In leiu of our meeting this week, here is a quick status update in the form of a blog entry. With my talk last week, I admit I didn’t make as much progress as I may have hoped, and this week and next will be a little hectic with tests in both of my classes.

Last Week

Ruby 1.9

I took a little time out to look into Ruby 1.9 a little bit more, just to get a feel for what I might be missing here. Matz’s Google TechTalk was informative, and gave me a little better idea of what had changed.I’ve also started looking a bit through the code for Ruby 1.9, particularly the parser, to see what has changed here. I’ve only started looking, but at it’s core I believe I can still use the same technique with few changes that I’m using in 1.8, so that is good news.

Parser/Unparser Progress

I’ve also finished looking through most of the test results, and I think I’m down to the last few items outstanding, namely figuring out the details of regular expression options. (Interesting to note that the regular expression engine changed in Ruby to Oniguruma, but the documentation for this is better, and I think any changes to this for Ruby 1.9 should be pretty straight forward.)

Documentation

Finally, I’ve added a couple of blog entries, and also created a wiki page for Ruby on the compiler wiki with links to some blog entries about performance, as well as the concurrency article I had sent to you from InfoQ, and links to the various implementations. I wasn’t sure where to attach this page, so right now it is just floating in the wiki. I could attach it to the References page, which is probably the most appropriate place, though I wasn’t sure really how to categorize it.

This Week

I’ll be working on getting the pretty-printing underway, first changing to a simplified ATerm form for things like function definitions, which are pretty complicated and then using the pretty printer to do the work to get it back into Ruby code.

The Great Ruby Shoot-out

Ruby No Comments »

The Greate Ruby Shoot-out is an interesting comparison of Ruby 1.8, Ruby 1.9 (YARV), JRuby, and Rubinius both in February 2007 and December 2nd, 2007. There are also some other implementations compared, though these are not available for both the February and December tests.The other interesting thing about this post is that Antonio Cangiano makes available his benchmark cases. (I’m thinking more test cases to potentially steal as we start to look at some of this information.)(I’ll add this to the wiki tomorrow as well.)

Matz Speaks to Google about Ruby 1.9

Ruby No Comments »

Ran across this talk by Matz on Ruby 1.9 that he did for the Google talks series.

I thought it was interesting that YARV, the new VM, is about 50 times faster at improving what it is focused on, but because the garbage collector and other features haven’t changed the overall speed-up Matz estimates to be around 1.5 to 2.

I also think the new lambda syntax…

-> (x) { x + 2 }.(2)  # 4

…is a little strange, though it does have the nice feature of allowing for default values for lambda parameters.

Ruby 1.9 also fixes the block variable semantics, so block variables are now block local, as those of us from other programming languages might expect.


WordPress Theme & Icons by N.Design Studio. WPMU Theme pack by WPMU-DEV.
Entries RSS Comments RSS Log in