[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what is the problem?

on ruby, regarding perl/python from the horse's mouth:

the following is from

Stewart: Let's start with a little history. Why did you decide to 
write Ruby?

Matz: Back in 1993, I was talking with a colleague about scripting 
languages. I was pretty impressed by their power and their 
possibilities. I felt scripting was the way to go.
As a long time object-oriented programming fan, it seemed to me that 
OO programming was very suitable for scripting too. Then I looked 
around the Net. I found that Perl 5, which had not released yet, was 
going to implement OO features, but it was not really what I wanted. I 
gave up on Perl as an object-oriented scripting language.

Then I came across Python. It was an interpretive, object-oriented 
language. But I didn't feel like it was a "scripting" language. In 
addition, it was a hybrid language of procedural programming and 
object-oriented programming.

I wanted a scripting language that was more powerful than Perl, and 
more object-oriented than Python. That's why I decided to design my 
own language.

Stewart: I gather you had worked with both Perl and Python before 
creating Ruby. What bits of Perl did you incorporate in Ruby?

Matz: A lot. Ruby's class library is an object-oriented reorganization 
of Perl functionality--plus some Smalltalk and Lisp stuff. I used too 
much I guess. I shouldn't have inherited $_, $&, and the other, ugly 
style variables.

Stewart: How about Python? What aspects of that language did you try 
to reuse in Ruby?

Matz: Far less than Perl. But I stole a few things, like exception 
names. Plus I learned a lot from its code.

Stewart: Why should someone already familiar with Perl or Python 
switch to Ruby?

Matz: Why should you switch to Ruby? If you are happy with Perl or 
Python, you don't have to. But if you do feel there must be a better 
language, Ruby may be your language of choice. Learning a new language 
is harmless. It gives you new ideas and insights. You don't have to 
switch, just learn and try it. You may find yourself comfortable 
enough with Ruby to decide to switch to it.