Ruby: programmer happiness
Ruby was designed by Yukihiro "Matz" Matsumoto with programmer happiness as its primary purpose, and this course covers that philosophy before any Ruby is written. It traces the language from its start in 1993 to the Ruby 4.0 release on Christmas 2025. It then looks at the principle of least astonishment, the rule that everything is an object, and Ruby's habit of offering several valid ways to say something. It also explains Convention over Configuration and the MINASWAN community culture, and closes by reading a short Ruby class through these ideas.
What you'll learn
- ✓Why Ruby was designed around programmer happiness instead of the machine
- ✓The principle of least astonishment, including ? methods, the if modifier and unless
- ✓How numbers, booleans and nil are all objects that respond to methods
- ✓Why Ruby offers several valid ways to express an idea, guided by shared conventions
- ✓Convention over Configuration as the principle behind Rails
- ✓The MINASWAN motto and Ruby's open source community
A language designed around a feeling
Every course before this one taught a markup or style language. HTML describes what a page means, and CSS describes how it looks. Neither runs logic, makes decisions or computes anything. Ruby is a full programming language. It stores values, makes decisions, repeats actions and runs on a server…
Read the full lesson free →Curriculum
7 lessonsA language designed around a feeling
Ruby's origins in 1993, Matz's goal of programmer happiness, and the release history up to Ruby 4.0.
Least astonishment: code that reads like English
The principle of least astonishment, method names ending in ?, and the if modifier and unless keywords.
Everything is an object
Why numbers, booleans and nil are all objects of real classes that can respond to methods.
Expressive alternatives: more than one way to say it
How Ruby offers several valid ways to express an idea, such as if modifiers and string interpolation.
Convention over configuration
The Rails principle of Convention over Configuration, with sensible defaults that can be overridden when needed.
MINASWAN and the Ruby community
The MINASWAN motto, Ruby's open source gem ecosystem, and why a patient community reduces friction.
Putting it together: reading Ruby before writing it
Reading a short ShoppingCart class to spot least astonishment, objects, expressive shapes and convention at work.