hardscrabble 🍫

Psst. Check out my RubyConf 2017 talk, There are no rules in Ruby.

rubí dos

17 Jun 2013

The Ruby Core Team wrote this in October 2011:

Schedule:

  • We continue to provide normal maintenance for 1.8.7 as usual, until June 2012. You can safely assume we provide bugfixes and no incompatibility shall be introduced.

  • After that we stop bugfixes. We still provide security fixes until June 2013, in case you are still using 1.8.7.

  • We will no longer support 1.8.7 in all senses after June 2013.

It’s June 2013.

One of the things that is keeping people using Ruby 1.8.7 must be that it comes with Macs as the default Ruby, and installing newer versions isn’t as easy as it could be. Well this is kind of cool:

Ruby developers will go through the process of installing rvm, rbenv, or chruby to manage multiple Ruby versions so this might not immediately affect the work they do on their personal computers but I think it’s a huge win because it encourages people to casually try Ruby and have a modern experience, be they newbies or experts in other languages. It also makes it easier to require newer versions of Ruby when releasing RubyGems.

I had this in mind while reading What’s new in Ruby 2.0 by Gabriel Fortuna, a speakerdeck I’ll embed here:

Fortuna shows off some of the cool new features Ruby 2.0 offers. Some of them have to do with how the interpreter works more efficiently, which honestly goes over my head right now. But I’m pretty interested in new syntactic features like keyword arguments.

Before Ruby 2.0, if you have a method that has several arguments, you just have to remember their order and which means what or wrap them in a hash. With keyword arguments you can label your arguments for greater clarity. This blog post has a great overview.

Another change is “Refinements” which aims to be a more elegant way to modify class behaviors in lieue of monkey patching. You can still crack open and modify classes in crazy ways, but this lets you localize those changes to contexts, for the sake of being a little safe about it.

I’d love to use these features, the others Fortuna covers, and what I’m sure are plenty of more little cool changes. Fortuna mentions that the next major version of Ruby on Rails, Rails 4, is designed for Ruby 2.0. That’s exciting. I wonder how fast the community will adopt these as the new de facto standard.