Yukihiro Matsumoto Quotes

Powerful Yukihiro Matsumoto for Daily Growth

About Yukihiro Matsumoto

Yukihiro Matsumoto, pen name Matz, is a prominent Japanese computer programmer and software engineer, best known as the chief architect of the Ruby programming language and co-creator of the Ruby on Rails web application framework. Born on September 19, 1970, in Tokyo, Matsumoto developed an early interest in computers, learning to program at a young age. He graduated from Yokohama National University with a degree in computer science in 1993. Before his work on Ruby, Matsumoto was a member of the NeWS project team at Sun Microsystems. In 1995, Matsumoto created Ruby, an object-oriented programming language that emphasizes simplicity and productivity. Inspired by languages like Smalltalk, Eiffel, Ada, Lisp, and Perl, Matsumoto aimed to make a powerful language that was also easy to understand and enjoyable to use. The first public release of Ruby was in 1996, and it has since become widely popular among programmers for its flexibility, readability, and extensive library support. In 2004, Matsumoto co-founded the company Obtica (later renamed Engine Yard) to focus on Ruby on Rails, a web application framework written in Ruby that makes it easier to develop and deploy web applications. This framework revolutionized web development by emphasizing convention over configuration, promoting rapid development of complex web applications. Matsumoto's influence extends beyond Ruby and Rails. He is often referred to as the "Doyen of Japanese Programmers" and his work continues to inspire a new generation of programmers. His quotes reflect his philosophy towards programming, with statements like "Good programmers know the heart of the problem" and "Programming should be fun, if it's not fun then you're doing something wrong." These words resonate with many in the coding community, emphasizing the importance of enjoyment, creativity, and solving problems effectively in the field.

Interpretations of Popular Quotes

"Real programmers can write in any language."

This quote by Yukihiro Matsumoto, creator of Ruby, emphasizes the adaptability and versatility of skilled programmers. It suggests that proficient programmers possess a deep understanding of programming concepts rather than being tied to a specific language or tool. Mastery of one language makes learning others more accessible, allowing them to write efficient code in any environment they encounter. In essence, this quote underscores the importance of problem-solving skills and adaptability over reliance on a single programming language.


"Premature optimization is the root of all evil."

This quote emphasizes the importance of prioritizing functionality and readability over performance in software development, especially during the initial stages. Premature optimization refers to optimizing code before it's necessary, potentially leading to convoluted and hard-to-maintain code. By focusing on creating a working solution first, developers can create flexible and understandable code, making further optimization or debugging easier in the future. It also suggests that performance issues often become evident as the project scales or under real-world usage, so it's more efficient to address them then rather than attempting to solve problems that may not exist yet.


"Debugging is twice as hard as writing the code in the first place."

This quote emphasizes that debugging, or finding and fixing errors in computer code, is significantly more challenging than initially writing the code itself. The difficulty arises from having to understand not only what the intended functionality of the code should be but also why it isn't working as expected due to errors or bugs. This highlights the importance of thorough testing and careful programming to minimize the need for debugging in the future.


"If you don't understand your own code, it doesn't matter how pretty it looks."

This quote highlights the importance of clarity and understanding in programming. Even if the code appears visually appealing or sophisticated, if its functionality isn't understood by the developer who wrote it, issues will inevitably arise when maintaining, debugging, or expanding that codebase. Writing readable and maintainable code is crucial for efficient and effective software development.


"The most important part of a program isn't code: It's the logic. If you can't explain your logic in plain English, you don't understand it well enough to write it in any language."

This quote by Yukihiro Matsumoto underscores the importance of understanding the underlying logic or reasoning behind a program before attempting to code it. It suggests that having a clear understanding of what a program is intended to do (the logic) is crucial, as this understanding will guide the coding process and ensure the final product accurately reflects the desired outcome. If one cannot articulate their thought process in simple English, it implies that they may not grasp the problem's essence deeply enough to write an effective solution. In other words, a strong command of both logical reasoning and natural language communication is essential for successful software development.


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

String, Very, Use, Daily Lives

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

- Yukihiro Matsumoto

Goal, Believe, Design, Primary Goal

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

Language, Cost, Another, Theoretically

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

Hero, Choose, Same Thing, Larry

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

Surprise, Principle, Follows, Claim

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

Calculation, Counting, Tasks

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

Perfect, Feel, Maybe, Ruby

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

Viewpoint, Python, Languages, Ruby

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

- Yukihiro Matsumoto

Complexity, Features, Explode

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

Purpose, Want, Quickly, Fun

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

Different People, Making, Alternatives

If you're searching for quotes on a different topic, feel free to browse our Topics page or explore a diverse collection of quotes from various Authors to find inspiration.