InfoQ

News

Presentation: The Beauty of Ruby

Posted by Floyd Marinescu on Jul 05, 2007

Community
Ruby
Topics
Programming
Tags
Language Features
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!"
Other dynamic languages by Carl Gundel Posted Jul 11, 2007 10:25 AM
Presentation Slides by Tamer Salama Posted Jul 13, 2007 1:11 PM
Good Presentation by Satish Talim Posted Jul 23, 2007 10:27 PM
trying to watch by lee h Posted Jul 26, 2007 10:02 PM
Re: trying to watch by Larry Diehl Posted Jul 27, 2007 10:41 PM
Re: trying to watch by lee h Posted Aug 4, 2007 8:39 PM
Talk was incorrect regarding arrays of regexp objects in perl by Josh ben Jore Posted Aug 7, 2007 12:43 PM
Don't talk about Perl if you don't know it by brian d foy Posted Aug 14, 2007 4:42 PM
Ruby presentation by Jure http://blog.regulus.si Posted Feb 7, 2008 1:21 PM
  1. Back to top

    Other dynamic languages

    Jul 11, 2007 10:25 AM by Carl Gundel

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

  2. Back to top

    Presentation Slides

    Jul 13, 2007 1:11 PM by Tamer Salama

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

  3. Back to top

    Good Presentation

    Jul 23, 2007 10:27 PM by Satish Talim

    I liked the presentation.

  4. Back to top

    trying to watch

    Jul 26, 2007 10:02 PM by lee h

    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?

  5. Back to top

    Re: trying to watch

    Jul 27, 2007 10:41 PM by Larry Diehl

    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?

  6. Back to top

    Re: trying to watch

    Aug 4, 2007 8:39 PM by lee h

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

  7. 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.

  8. Back to top

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

    Aug 14, 2007 4:42 PM by brian d foy

    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 :)

  9. Back to top

    Ruby presentation

    Feb 7, 2008 1:21 PM by Jure http://blog.regulus.si

    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

Educational Content

Rails in the Large: How Agility Allows Us to Build One Of the World's Biggest Rails Apps

Neal Ford shows what ThoughtWorks learned from scaling Rails development: infrastructure, testing, messaging, optimization, performance.

Stuart Halloway on Clojure and Functional Programming

Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell.

Orion Henry and Blake Mizerany on Heroku

Orion Henry and Blake Mizerany talk about the technology behind Heroku and the benefits of the new add-on system.

Security for the Services World

Chris Riley presents security issues threatening service based systems, examining security threats, presenting measures to reduce the risks, and mentioning available security frameworks.

Navigating The Rapids:Real-World Lessons in Adopting Agile

This talk investigates technical issues encountered when moving to an Agile process.

Codename "M": Language, Data, and Modeling, Oh My!

Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Don Box's demos show some of M’s features and latest changes of the language.

SOA Manifesto - 4 Months After

It is four months since the SOA manifesto was announced; InfoQ interviewed the original author’s to get insight into the motivations and the process behind the initiative.

Memory Barriers and JVM Concurrency

This article explains the impact memory barriers, or fences, have on the determinism of multi-threaded programs.