A language designed around a feeling

Free preview 3 min to read

A new kind of language, and a new kind of series

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 instead of painting a page. This is where "becoming an engineer" starts, and this course covers the mindset Ruby was built with before the next courses teach its mechanics.

Most languages optimize for the machine

Historically, most languages were designed around what made the computer's job easier: fast to compile, close to the processor, unambiguous to the last character. That's a reasonable goal, but it puts the translation work on the human. The programmer has to think like the machine to write code the machine accepts.

Ruby optimizes for the human instead

Ruby's creator, Yukihiro "Matz" Matsumoto, started the language in 1993 with a different priority. He later put it this way: "I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language." The goal wasn't maximum speed or the smallest possible language. It was happiness. The Ruby community uses that word constantly, and it's a real design constraint behind syntax choices this course walks through.

A language with real history, still actively growing

Ruby's first public release came in December 1995, and Ruby 1.0 followed on 25 December 1996, a date that would become a habit. At first, releases landed when they were ready: 1.8.7 in mid-2008, 1.9.1 in January 2009, 1.9.2 in August 2010, 1.9.3 in October 2011 and 2.0.0 in February 2013. The Christmas release became an annual tradition with Ruby 2.1.0 on 25 December 2013, and it has held every year since. Ruby 4.0, the current major version, shipped on that date in 2025, thirty years after the first release. It brought real improvements, like faster object creation and new methods on familiar classes such as Array, while keeping the same philosophy. Ruby is still actively maintained, by the open community lesson 6 introduces.

Why "happiness" isn't just a nice idea

"Happiness" can sound soft next to "fast" or "type-safe". It has practical effects, though. Code built for programmer happiness tends to be faster to write correctly, easier to read six months later and kinder to a beginner's honest mistakes. Each lesson ahead names one concrete place this shows up in Ruby's design, a syntax choice you'll use in the next course.

What this course covers

  • Lesson 1, A language designed around a feeling: Ruby's history and founding priority (you are here)
  • Lesson 2, Least astonishment: code that behaves the way it reads
  • Lesson 3, Everything is an object: one consistent rule, no special cases
  • Lesson 4, Expressive alternatives: why Ruby often gives you more than one way to say something
  • Lesson 5, Convention over configuration: the principle that becomes Rails' whole foundation
  • Lesson 6, MINASWAN and the Ruby community: the culture the language grew inside
  • Lesson 7, Putting it together: reading a real Ruby snippet through everything this course covered

You won't write Ruby until the next course. By the end of this one, though, you'll know why Ruby looks the way it does, so each syntax choice ahead feels deliberate instead of arbitrary.

Lesson 1 of 7 · free

Keep going with lesson 2

Least astonishment: code that reads like English

The principle of least astonishment, method names ending in ?, and the if modifier and unless keywords.

A free account also gives you the quizzes, your progress and notes, and the discussion.

Type to start searching...