This post is inspired by the mic dropping talk by Justin Searls(@searls) performed on RailsConf2016. If you haven’t already - check out Make Ruby Great Again video.
Justin told us that as Ruby and Rails are becoming more and more complete, we are hearing about them less and less. Why? It’s the “new cool kid on the block” syndrome. People tend to talk about new technologies, often supported by big names in industry - like Google and Golang - or technologies that are rapidly moving like Node.js. As people talk about them more and more your clients are going to hear about them too - and they would fund their application in Node.js or Go rather than in Ruby. In the world of open source the language that needs contributions and new libraries the most, is the language you are hearing the most about. People do not talk about complete technologies and Ruby is becoming one of them. Ruby does not have any big company behind it too, so it’s our - community - goal to keep talking about how awesome it is. In order to do so, let me present you a few cool Ruby tools that deserve more attention as they show how flexible Ruby can be.
Sinatra is definitely my way to go for writing small microservices. It is a small Ruby framework built on top of Rack. It provides minimalistic DSL for quickly writing small web applications and encourages use of pure Ruby classes. Sinatra is a lot lighter than Rails and a lot more easy to extend. There is an upcoming 2.0.0 release targeting Ruby 2.2+ and Rack 2.0+. In fact, Sinatra is becoming more and more popular and appreciated - in the past companies like Heroku, GitHub and EngineYard were supporting it and now it is taken care of by TravisCI. You can check the list of services created with Sinatra here - and don’t be surprised to see TravisCI there!
Have you ever wondered how Facebook manages configuration of their servers? They do use Chef! Chef is a configuration management tool trusted not only by Facebook, but also companies like Microsoft, Adobe and IBM. It uses Ruby to define the patterns which are used to configure, deploy, and manage multiple machines across the network. Back in 2013 on ChefConf 2013 Phil Dibowitz, which is a Production Engineer at Facebook, gave a detailed talk on why they built their configuration management on Chef. It is a 3 years old talk, but explains why Chef is chosen by such big names like Facebook.
We all know what RoR means right? Ruby on… Robots?! This is exactly what Artoo is achieving. Artoo is a Ruby framework for robotics, physical computing and the Internet of Things. We all recently heard that now anyone can be a space programmer with Node.js running on your satellite. While people in comments agree that decision on using JS for satellite programming is a 100% hipster thing, it is important to note that Rubyists can program devices too. I’ve fallen in love with Artoo when I’ve seen the talk performed by Ron Evanson on GoGaRuco 2013. We are used to thinking of Ruby as a serious business, but we keep forgetting the fun part about it - and the fun and joy of writing Ruby is exactly why we are Ruby developers, right?
Ruby is still there and it is still both great and fun. We just have to keep talking about it. As Justin said, Ruby is not supported by any big company, unlike Go and Google or Java and Oracle. It is our - community - goal to keep it up and running. Both Ruby and Rails are complete tools. Let’s promote them and speak about them loudly!