The Philosophy of Ruby: An interview with Yukihiro Matsumoto

Bill Venners just posted the first of an installment of articles with Yukihiro Matsumoto, the creator of the programming language Ruby. Specifically, they talk about the how Ruby wasn’t designed to the the ‘perfect’ language (but rather a language that feels good when used), and “… the danger of orthogonality, granting freedom with guidance, the principle of least surprise and the importance of the human in computer endeavors.

I thought the quote “Language designers want to design the perfect language.” could also be re-phrased as “Programmers want to feel like their language is the perfect lanaguage.” I know this blog is being syndicated through (as a ColdFusion blog) and also through (as a Java blog) and I read alot of the blogs on both sites, as well as some of the blogs on and It’s interesting that all of the above mentioned sites (not to mention slashdot) are generally short sighted when it comes to the subject of what language is better (reference discussions re: Java as the SUV of programming languages, PHP vs. ASP.NET, MX vs. .NET) and hammer away at how x is better than y. I think Yukihiro is right, there isn’t a ‘perfect programming’ language and there never will be. Macromedia employees probably aren’t encouraged to say this, but I’d encourage anyone writing a ColdFusion application to try and write a similar application in ASP.NET or in Java using Struts or in ASP.. or even Ruby. You’ll be amazed at how things you’ll learn.

2 thoughts on “The Philosophy of Ruby: An interview with Yukihiro Matsumoto”

  1. Couldn’t agree more. No one should aim to provide a perfect solution. There is none. If there is, none of us is being what or who we are now. Time is the endowment we have so we work around it to provide a better way that we know of in solving human problems via programming.

  2. Cheers to that; the more tools the more effective we are as developers. That being said I will never work in an ASP.Old site ever again. LOL 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *