Actually, I didn’t make the claim that Ruby follows the principle of least surprise. Someone felt the design of Ruby follows that philosophy, so they started saying that. I didn’t bring that up, actually.

About Yukihiro Matsumoto

Yukihiro Matsumoto (matsumotoyukihiro, Matsumoto Yukihiro, born 14 April 1965), also known as Matz, is a Japanese computer scientist and software programmer best known as the chief designer of the Ruby programming language and its original reference implementation, Matz’s Ruby Interpreter (MRI). His demeanor has brought about a motto in the Ruby community: “Matz is nice and so we are nice,” commonly abbreviated as MINASWAN.
As of 2011, Matsumoto is the Chief Architect of Ruby at Heroku, an online cloud platform-as-a-service in San Francisco.

More about the author

More quotes from Yukihiro Matsumoto

You want to enjoy life, don’t you? If you get your job done quickly and your job is fun, that’s good isn’t it? That’s the purpose of life, partly. Your life is better.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

The orthogonal features, when combined, can explode into complexity.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

Ruby inherited the Perl philosophy of having more than one way to do the same thing. I inherited that philosophy from Larry Wall, who is my hero actually. I want to make Ruby users free. I want to give them the freedom to choose.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

From the viewpoint of what you can do, therefore, languages do differ – but the differences are limited. For example, Python and Ruby provide almost the same power to the programmer.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

Most of the tasks we do are for humans. For example, a tax calculation is counting numbers so the government can pull money out from my wallet, but government consists of humans.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

I believe consistency and orthogonality are tools of design, not the primary goal in design.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

Because of the Turing completeness theory, everything one Turing-complete language can do can theoretically be done by another Turing-complete language, but at a different cost. You can do everything in assembler, but no one wants to program in assembler anymore.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

I didn’t work hard to make Ruby perfect for everyone, because you feel differently from me. No language can be perfect for everyone. I tried to make Ruby perfect for me, but maybe it’s not perfect for you. The perfect language for Guido van Rossum is probably Python.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

People are different. People choose different criteria. But if there is a better way among many alternatives, I want to encourage that way by making it comfortable. So that’s what I’ve tried to do.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

Actually, I didn’t make the claim that Ruby follows the principle of least surprise. Someone felt the design of Ruby follows that philosophy, so they started saying that. I didn’t bring that up, actually.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language

In our daily lives as programmers, we process text strings a lot. So I tried to work hard on text processing, namely the string class and regular expressions. Regular expressions are built into the language and are very tuned up for use.

Yukihiro Matsumoto

Japanese computer scientist who created the Ruby programming language