# Ruby Explained: The Language That Puts Developer Happiness First

## Introduction

Ruby was designed with one unusual priority: the happiness of the programmer. Its creator, Yukihiro Matsumoto, believed code should be a joy to read and write, and that philosophy shaped a language that often reads like plain English. Ruby is best known through Ruby on Rails, the web framework that launched companies like Shopify, GitHub, and Airbnb — but the language itself is worth learning for its ideas alone.

## Everything is an object

In Ruby, there are almost no special cases: numbers, strings, even true and false are objects with methods you can call.

```ruby
5.times { |i| puts "Hello #{i}" }
# Hello 0
# Hello 1
# Hello 2
# Hello 3
# Hello 4
"hello".upcase       # => "HELLO"
[3, 1, 2].sort       # => [1, 2, 3]
```

`5.times` calls a method on the number 5 itself, and the block `{ |i| ... }` is a chunk of code passed to that method — Ruby's most distinctive feature. Blocks let you write loops, filters, and callbacks without ceremony, and once you are used to them, other languages' loop syntax feels clumsy.

## Reading like English

Ruby removes punctuation other languages require: parentheses are often optional, and method names can end in ? (asking a question) or ! (warning that something changes in place):

```ruby
name = "sara"
name.empty?        # => false
name.capitalize!   # name is now "Sara"
[1, 2, 3].include?(2)  # => true
```

`empty?` asks a question, `capitalize!` warns you it changes the string itself, and `include?` reads as a sentence. This is deliberate: Ruby code is meant to be read aloud and understood.

## Rails: convention over configuration

Ruby on Rails, Ruby's famous web framework, applies the same philosophy at a larger scale: sensible defaults mean you write very little setup code. A blog with posts, comments, and pages takes a handful of commands and a few dozen lines in Rails, where other frameworks might take hundreds. "Convention over configuration" — follow the framework's expected layout, and it handles the rest — is an idea Rails made mainstream, and nearly every modern framework has borrowed it since.

## Takeaway

Everything is an object, blocks make iteration feel natural, and method names read like sentences. Ruby's lesson is that a language's design philosophy matters: optimise for the person reading the code, and the code gets better for everyone.

Originally published at https://practicaldevblog.blogspot.com/2026/10/ruby-explained-language-that-puts.html
