A Retrospective on Ruby in 2015

This article was peer reviewed by Thom Parkin and Fred Heath. Thanks to all of SitePoint’s peer reviewers for making SitePoint content the best it can be!

We’ve come to the end of 2015, which was a big year in Ruby. I thought it’d be a hoot to go back and look at some of the epics (major themes) of the year and the stories that comprised them. Kind of like a Agile process retrospective where I’m treating 2015 as a set of sprints and seeing how we did.

--ADVERTISEMENT--

In order to play out this contrived idea all the way, I will need to define the epics. I’d say that, almost every year, Ruby has the following major areas/epics/whatever where the community needs to be productive in order to consider that sprint/year a success:

Improve the language

Grow the community

Keep up with the rest of the programming world

Those are the epics I’ve defined. In order to measure how the Ruby community did, I am going to revisit the blog posts, articles, and videos that touch on sub-themes of these epics. I am sure I’ll miss some, but that’s what comments are for, right?

Finally, any retrospective worth its weight in gems needs to look at what didn’t work. I’ll do that to round out our time today. My guess is some astute readers will have plenty to add to my list.

Improve the Language

Ruby

Ruby 2.2 was released about a year ago, but I am going to include it in this year’s backlog. 2.2 added many things to the language, as the following stories attest:

OK, OK, so maybe “Battle of the Year” is a tad clickbaity, but I did feel like there was plenty of talk about Minitest vs RSpec this year.

Rails

Just like Ruby 2.2, Rails 4.2 was released around the end of December last year. Again, I am going to lump that into the 2015 backlog, as the reverberations of the release weren’t really felt until this year. Here’s what it brought:

Of course, the best place to look at the changes is the release notes, where you’d see things like ActiveJob, Asynchronous Mails, and Adequate Record.

Diversity in tech has become a very hot topic, and with good reason. Things like Rails Girls and RailsBridge are focused directly on encouraging diversity in Ruby. Here are some stories around diversity from this year:

Organizations like Makers Academy offer scholarships to women for the classes they teach.

I really love the release of Hello Ruby, a children’s book to get all kids interested in coding. Seriously, buy this book for someone if you haven’t already.

All in all, it was a good (but not great) year for diversity in Ruby. Here’s hoping this subject gets some more positive support in 2016.

Keep Up with the Joneses

Another survival tactic for any language these days is to ensure that it can change with and integrate with technologies outside the language itself. Ruby has this at it’s core, with 2 of the big interpreters (MRI and JRuby) tapping into external runtimes, by default. Here are some of the big tech topics of 2015, and how Ruby fits in to the mix.

Docker

Containerization is all the rage at the end of 2015, so here’s some posts about Ruby and Docker:

Create the smallest Docker image for your Ruby apps with this post from Travis Reeder.

Rust received a ton of press this year, and this post by Robert Qualls shows how to use Rust with Ruby.

The new Darling of Rubyists, though, has to be Elixir. Read this post to see why some folks are betting on Elixir as the next big thing.

Finally, some other things on the nerd landscape that made a fair amount of noise in Ruby:

React is the current javascript framework of choice. Learn how to use it with Rails here.

If you write web apps in Ruby and aren’t DHH, then microservices are shiny and new. This post shows you how to architect your Rails app as a microservice.

What Didn’t Work

All retrospectives should spend a bit of time going over what didn’t work. It’s easy to be negative, so this section could be huge, but I will only mention a couple of items:

The addition of Spring to the Rails development workflow has been lauded and criticized. Many people feel like this author who gave up on Spring entirely.

Adam Hawkins mentions tons of things the community needs to improve and lays out a high level road map.

I mentioned microservices before, and there was a fair amount of backlash against them. Nick Sutterer (author of many, many gems and the Trailblazer framework) penned this piece on using good design before you go all microservice crazy.

Finally, what ever happened to Refinements? Does anyone use them? MVP Candidate Starr Horne does, but I don’t get the feeling many people do. Should we be?

I am sure I am missing some more things that fell flat in Rubyland. Tell me what I missed in the comments.

And….Scene!

2015 is coming to a close in just a few days. It was a big year for Ruby, a language that still has a bright future in my opinion. What should that future be in 2016? Do you have an opinion? Well, put it in the comments or on the forums. Let’s make 2016 even better for Ruby and our community. Happy New Year!

Glenn works for Skookum Digital Works by day and manages the SitePoint Ruby channel at night. He likes to pretend he has a secret identity, but can't come up with a good superhero name. He's settling for "Roob", for now.