The open source Ruby language, founded by developer Yukihiro "Matz" Matsumoto and released in 1995, has become a staple among programming languages. It has been used by companies like Twitter and serves as the basis of the popular Ruby on Rails Web application framework. The dynamic language, says IDC analyst Al Hilwa, is regarded as very elegant and capable, mostly in combination with Ruby on Rails. In developing Ruby, Matsuomoto blended parts of several languages -- including Perl, Smalltalk, Eiffel, Ada, and Lisp -- to build a language with both functional and imperative programming capabilities.
In an interview with InfoWorld.com, Matsumoto cites his intention to make Ruby more prominent in mobile computing and details the history of the language.
InfoWorld: Why did you invent Ruby?
Matsumoto: Well, I was a programming guy since I was 15, and I have been always interested in programming languages in general. I majored in computer science and studied programming languages. After that, I really wanted my own programming language. In the beginning, it was mostly designed as a scripting language. Back in 1995, many people considered object-oriented programming too much for scripting. [But] I really wanted my programming language to be object-oriented.
InfoWorld: So you succeeded in combining object-oriented programming with scripting?
Matsumoto: Yes. It was quite remarkable at that time.
InfoWorld: Did you expect the kind of success that Ruby has had?
Matsumoto: Not at all.
InfoWorld: What features will be added to the Ruby language in the near future? What are your goals for the language moving forward?
Matsumoto: My goal is to make programmers happy. So currently, I think I was successful [at making] Web programmers happy. So I want to help more programmers, like in the embedding field -- the small-device programmers, or the high-performance computing programmers. Like supercomputers.
InfoWorld: So you want to extend Ruby to small devices and high-performance computing? Do you see that happening any time soon?
Matsumoto: I'm currently working on an alternative subset or dialect of Ruby for the small devices. I'm going to make it public early next year. Of course, mobile computing is the way to go, so that's one of the reasons I focus on the Ruby dialect working on the smaller devices.
InfoWorld: You think Ruby is going to make a big impact on smaller devices?
Matsumoto. I guess so, yes.
InfoWorld: What's the future for Ruby in cloud computing?
Matsumoto: The future is bright. One reason is that Ruby is very strong in the Web industry, and the cloud is a Web industry.
InfoWorld: What about Ruby for high-performance computing?
Matsumoto: A professor at the University of Tokyo has a government grant to research Ruby on high-performance computing, so I'm expecting his result.
InfoWorld: What are the main advantages of programming in Ruby?
Matsumoto: Mainly productivity. It is focused on flexibility and agility. It is good for agile programming.
Matsumoto: I don't see any problem about other implementations just because the diversity is very sound, the healthy things they have. And actually Ruby, the language, is very good for productivity but the programming environment differs from application to application. For example, some clients require very stable and multicore applications on top of the JVM. In that kind of field, JRuby works better than my Ruby, actually, which is called C Ruby. For most of the cases, C Ruby is good for Web applications. But in certain situations, JRuby and maybe Rubinius are a better fit for a particular requirement.
InfoWorld: Are there any limitations with developing Ruby applications?
Matsumoto: Well, in some cases, performance could be the limitation. For example, Twitter was originally written in Ruby, but it has now has billions of users so, it's larger, its core [is now] on top of the JVM. It was originally running on C Ruby, my Ruby. [With Twitter's JVM-based program], the program is written in Scala and Clojure.
Matsumoto: We have a lot of ecosystems like Heroku for deployment and hosting and then Ruby on Rails to help the Web application productivity. We have a set of library named RubyGems, which is so many useful sets of useful libraries, which can offer programmers much productivity in building Web sites.
InfoWorld: What do you think of the future of languages such as Java? Do you think Java is going to be around forever or is it going to be phased out?
Matusomoto: Java [has] its own ecosystems, and I think it will live forever.
InfoWorld: What version are you on with Ruby now?
Matsumoto: The current version is Ruby 1.9. We are currently calling the next version 1.9.3 [due] in a month. After that we are going to start working on Ruby 2.0.
InfoWorld: What's going to be in 1.9.3?
Matsumoto: It's kind of a bug fix release, but it's more stable and faster and a safer version than the previous version.
This article, "InfoWorld interview: Ruby creator sets sights on mobile," was originally published at InfoWorld.com. Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter. For the latest developments in business technology news, follow InfoWorld.com on Twitter.
Read more about application development in InfoWorld's Application Development Channel.