InfoQ Homepage News Presentation: The Beauty of Ruby

# Presentation: The Beauty of Ruby

As Edd Dumbill wrote, "the subtle elegance of the Ruby idiom is a slowly appreciated and highly satisfying flavour." It's true that some of the best things about Ruby aren't obvious to newcomers. In this talk Glenn Vanderburg demonstrates some of the subtle beauty that experienced Rubyists know and love.

Watch The Beauty of Ruby (54 min)

The beauty points Glenn looks at are:
• Blocks
• Rich Yet Flexible Syntax
• Mixins
• Lisp-Y-ness
• Generalized Matching & Ruby's powerful case statement
• Classes and objects are "open" can be modified at runtime
• Metaprogramming features
Finally, looking at tradeoffs in the language's design, Glenn concludes that "We Rubyists lose some things due to Matz’ choices., but what we gain seems to make up for it. - Thanks Matz!"

Style

## Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

• ##### Other dynamic languages

by Carl Gundel /

• ##### Presentation Slides

by Tamer Salama /

• ##### Good Presentation

by Satish Talim /

by lee h /

• ##### Re: trying to watch

by Larry Diehl /

• ##### Re: trying to watch

by lee h /

• ##### Talk was incorrect regarding arrays of regexp objects in perl

by Josh ben Jore /

• ##### Don't talk about Perl if you don't know it

by brian d foy /

• ##### Ruby presentation

by Jure Srsen /

• ##### Other dynamic languages

by Carl Gundel /

Your message is awaiting moderation. Thank you for participating in the discussion.

Ruby is a great language. Rubyist should definitely not ignore some even more elegant languages like Smalltalk and LISP.

• ##### Presentation Slides

by Tamer Salama /

Your message is awaiting moderation. Thank you for participating in the discussion.

Great presentation. Any chance slides would be available for download?

• ##### Good Presentation

by Satish Talim /

Your message is awaiting moderation. Thank you for participating in the discussion.

I liked the presentation.

• ##### trying to watch

by lee h /

Your message is awaiting moderation. Thank you for participating in the discussion.

I would love to watch this, but with low bandwidth the buffering every ~5 secs is killing me...and would take WAY too long to get through it...I would love to be able to download it...any thoughts?

• ##### Re: trying to watch

by Larry Diehl /

Your message is awaiting moderation. Thank you for participating in the discussion.

Here's a textual summary =)

larrytheliquid.com/2007/07/28/ruby-elegance-nua...

I would love to watch this, but with low bandwidth the buffering every ~5 secs is killing me...and would take WAY too long to get through it...I would love to be able to download it...any thoughts?

• ##### Re: trying to watch

by lee h /

Your message is awaiting moderation. Thank you for participating in the discussion.

thanks for the link!....though I still would love to see the full video

• ##### Talk was incorrect regarding arrays of regexp objects in perl

Your message is awaiting moderation. Thank you for participating in the discussion.

Perl has had a regexp object since 5.6 was released in 2000. I don't know of any operating systems that still ship with an older version. The speaker should have done his homework on this before spending what seemed like five minutes larking about how this feature was lacking.

We've had this seven years now. Please catch up.

• ##### Don't talk about Perl if you don't know it

by brian d foy /

Your message is awaiting moderation. Thank you for participating in the discussion.

Ruby is certainly a nice language and I like it. However, you shouldn't
use your ignornace if Perl to support Ruby:

* Perl sigils do not denote type: they denote context. $scalar is a scalar, but$array[0] works with an array, and \$hash{foo} works with a
hash. @array[0,1] works with an array, but @hash{'foo', 'bar'}. It's
not type, what you're doing with it. You can read more about that in
Learning Perl.

* Perl regular expressions aren't operators: the match operator, m//, is an
operator, but that's not the thing that's the pattern. The stuff
inside the match operator is the pattern, but the pattern is not the
match operator. You can create a regular expression without the match
operator with the qr() quoting mechanism.

You'll eventually find that Ruby, if it gets as popular as Perl, will be treated as poorly as Perl as newbies learn by hit-and-miss. Newbies will invent their own systems to explain the portions of Ruby that they know and that they think they understand. Just wait :)

• ##### Ruby presentation

by Jure Srsen /

Your message is awaiting moderation. Thank you for participating in the discussion.

Tnx!
I really like to learn from these Ruby presentations since I am unable to be at the conferences for now.

Jure
www.scarlet-studio.net

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.