Essays on the Agile, powerful, & quirky programming language that is Ruby.
At RubyConf 2009, Matz, the creator of Ruby, said that he wants Ruby to be an "80% language", i.e, to include 80% of what makes a programming language good.
It does seem that the mission has been successful. Ruby gives you a lot of low-level pragmatics, but can quickly get advanced if one needs, while remaining relatively uncomplicated. That is no mean feat.
Something I've come to appreciate as of late is that it allows me to hybridize Object–Oriented and functional styles. I had started out in static and OO languages and have since transitioned to dynamic and functional. Ruby, a dynamic OO language with a functional underbelly, sits perfectly in the middle and makes the transition very natural.
The fact that Ruby's early name was matzlisp definitely shows. And, Ruby's OO is OO the Alan Kay way, with an emphasis on inter–object messaging at runtime. These are enormous bonuses.
And then there's the "more than one way to do it", which, while somewhat controversial, I've found to be more useful than not in practice.
But Ruby has another great strength: its developer community. It's a home of important discussions, impactful open–source projects, and successful software product stories.
All in all, a thorougly amazing language and an important one to study. Above all, Ruby allows me to get into the flow. Forget about making the language do things and focus on doing things with the language. Language is programming. Thinking in Ruby is a pleasure.