Posts Tagged object
history of Ruby
Author of Ruby, Yukihiro Matsumoto (aka matz), about the history of Ruby and why he developed a new language.
”Well, Ruby was born in Feb. 23 1993. At that day, I was talking with my colleague about the possibility of object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn’t like it really, because it had smell of toy language (it still has). The object-oriented scripting language seemed very promising.
I knew Python then. But I didn’t like it, because I didn’t think it was a true object-oriented language. OO features are appeared to be add-on to the language. I, as a language mania and OO fan for 15 years, really really wanted a genuine object-oriented, easy-to-use object-oriented scripting language. I looked for, but couldn’t find one.
So, I decided to make it. It took several months to make the interpreter run. I put it the features I love to have in my language, such as iterators, exception handling, garbage collection.
Then, I reorganized the features in Perl into class library, and implemented them. I posted Ruby 0.95 to the Japanese domestic news-groups in Dec. 1995.
Since then, mail lists are established, web pages are formed. Highly active discussion was held in the mail lists. The oldest list ruby-list has 14789 messages until now.
Ruby 1.0 was released in Dec. 1996, 1.1 in Aug. 1997, 1.2 (stable version) and 1.3 development version) were released in Dec. 1998.
Next stable version 1.4 will be shipped this months (June 1999), hopefully.”

As you can see, Ruby was developed, having Perl, Python, Smalltalk and Eiffel (as well as some other languages) in mind. So matz took the best from the above called languages to make a new, better, object-orientated scripting-language.
1 comment April 7, 2008
Class is an object
Are you really into a position to justify these outputs??
If so, means your OOP concepts in RUBY is clear else ……..
class Acer // Jacobian Code end Acer.class > Class Acer.superclass > Object Class.superclass> Module 2.class > Fixnum 2.988888.class > Float -2.class > Fixnum "2".class > String 0x22.class > Fixnum Class.class > Class nil.class > NilClass self.class > Object Object.class > Class Object.type > Class Time.class > Class Time.now.class > Time
Add comment April 6, 2008