Ruby? Rails? Ruby on Rails?

This post is one in a series of blog posts that answer some of the most common questions we get from prospective and current clients. All of the posts in this series are under the Questions tag if you want to view more like this.

As a consultancy, we think a great deal about our practices and our tools. After some some heavy-duty Cartesian-level thinking, we’re rather fond of using Ruby on Rails (among select others). And we’re not alone: Many popular sites like Airbnb, Hulu, and Bloomberg also use Ruby on Rails.

Just what is Ruby on Rails? It’s two different technologies that are deeply intertwined. I’ll explain them both here.

What is Ruby?

Ruby is a programming language. In the peculiar taxonomy of programming languages it’s a dynamically-typedobject-oriented language, which emerged during the mid-90’s explosion of programming languages. Other notable languages of that time Python, Java, PHP, and JavaScript. These languages together constitute the vast majority of popular websites today.

We like Ruby because we’ve found it to be a lot more succinct than many other languages out there. This leaves us with less code to debug, refactor, and maintain. Ultimately, this saves you, the client, development time and expense on the project.

Ruby is notable for emphasizing flexibility, and legibility in its syntax. To give you a flavor of these aspects, here’s an example of a test written using the Ruby RSpec library. This snippet is testing to make sure that the Cat “meows.”

describeCatdosubject{Cat.new.talk}it{shouldeq'meow'}end

All of the English language sprinkled throughout that code like describe, it, and should, are indeed code. The malleability of the Ruby language allows us to write code that reads (somewhat) like text.

What is Rails?

Ruby on Rails is an open-source web framework that’s optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.

Rails is a central concept here at Bendyworks. The defintion above describes the goals of Rails, but what is Rails? What’s a good working definition that we can use to explore it?

First and foremost, Rails is a web application framework.

A web application framework is a way of organizing the code that goes into a software application. As its name implies, a framework is like a skeleton that supports and anchors code.

Rails then is a means for creating interactive applications delivered over the web. As the kind of web applications we build have become so much more complex, we’ve needed better tools for organizing our efforts. And that’s exactly what Rails is.

Ruby + Rails

Added together, the flexibility of the Ruby language and the excellent structure of Rails enables us to build neato web applications quickly. That’s a win for both us as programmers and for our clients.