Slashdot Log In
Interview with the Creator of Ruby
Posted by
michael
on Fri Nov 30, 2001 09:10 PM
from the precious-gems dept.
from the precious-gems dept.
Lisa writes: "Yukihiro "Matz" Matsumoto talks about Ruby's history, the influence of Perl and Python on Ruby, and his new book, Ruby in a Nutshell. In the article he explains: "When I started the language project, I was joking with a friend that the project must be code-named after a gemstone's name (àla Perl). So my friend came up with "ruby". It's a short name for a beautiful and highly valued stone. So I picked up that name, and it eventually became the official name of the language. Later, I found out that pearl is the birthstone for June, and ruby is the birthstone for July. I believe Ruby is an appropriate name for the next language after Perl.""
This discussion has been archived.
No new comments can be posted.
Interview with the Creator of Ruby
|
Log In/Create an Account
| Top
| 183 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

next birthstone after perl? (Score:2, Funny)
Also check out this link (Score:4, Insightful)
-Vic
mmmm (Score:2, Troll)
Re:mmmm (Score:4, Interesting)
Other scripting languages have really hit a wall in development because of the objectless syntax, but ruby, is a piece of work.
Yeah, I can see your point. The other languages have a totally [perldoc.com] objectless [python.org] syntax [phpbuilder.com]!
Too bad they have all hit [python.org] a [perl.org] wall [zend.com].
Anyone got a link? (Score:1)
I checked the linked articles but couldn't find anything.
urls (Score:5, Informative)
Slashdot isn't trying to pedal some language... (Score:1, Troll)
Why another language (Score:4, Insightful)
Nice, but developer mindshare already too diluted (Score:4, Insightful)
The language biosystem is overpopulated, and mindshare starvation can be fatal to a new tool.
What Ruby got that Python don't got? (Score:4, Insightful)
Sure, maybe there's some cool new syntactic sugar. Sure, it's sexy to be able to say you're developing in/developing libraries for/developing a brand new computer language. But unless there's some significant additional benefit to this new design, why re-invent the wheel with Yet Another Language?
So, SOMEONE must be able to tell me what's so *great* about Ruby that we should start calling Python obsolete. Either that, or acknowledge that Ruby is just a fun, impractical project that truly is re-inventing the wheel.
Re:What Ruby got that Python don't got? (Score:4, Insightful)
So, SOMEONE must be able to tell me what's so *great* about Ruby that we should start calling Python obsolete.
Ruby's iterators. IMHO, this simple construct provides 80% of the what's truly useful in a functional language without the ivory tower weirdness.
Having said that, Python 2.2 is soon adding it's own iterators and generators. They looks slightly less elegant, but I havent' tried them yet, so I can't be totally sure; they might be better.
Ignorance is Strength (Score:4, Insightful)
[sigh.] All non-1stGLs are, boiled down, syntactic and semantic sugar. *That's the whole point.* You try and map the necessary, needs-of-the-machine language up to something closer to How People Think (tm).
> Sure, it's sexy to be able to say you're
> developing in/developing libraries for/developing
> a brand new computer language.
Yeah, I like to read the same book over and over, too. It's not like I can learn any new ideas from anything other than _Atlas_Shrugged_.
> But unless there's some significant additional
> benefit to this new design, why re-invent the
> wheel with Yet Another Language?
If nothing more, than to grind one's teeth on the *art* of language design. Am I reading you wrong, or are you actually convinced that Python and Perl are the highest glory of formal systems?
> So, SOMEONE must be able to tell me what's so
> *great* about Ruby that we should start calling
> Python obsolete. Either that, or acknowledge that
> Ruby is just a fun, impractical project that truly
> is re-inventing the wheel.
You should become a project manager, as you have the proper terror for new ideas. I'll be here at work over the weekend, grinding out shit in Visual C++ that could have been done in no fucking time with Common Lisp. But hey, those LISPs are just fun and impractical.
"And the people bowed and prayed to the neon god they made"
--_The_Sounds_of_Silence_
Ruby and Parrot (Score:2, Interesting)
As Long as You're Happy In ______ .... (Score:5, Insightful)
As long as some people feel happy using Ruby, that's enough of a reason for another language for me.
A-men.
It works for a lot of other things, too. Pick
a language, or political party, or religion, or
operating system, or city of residence, or
economic system, or mathematical notation, etc...
Seriously, folks, adopt this attitude, and the
world will sleep MUCH easier at night.
It ain't bad... (Score:3, Insightful)
Re:It ain't bad... (Score:4, Informative)
Perhaps one of these (some out know, some to be published Real Soon Now) would help.
How About Jade??? (Score:1)
Why the odd block structure? (Score:3)
Why are static conditional and loop blocks, and function and class definitions, so different from the brace type of general blocks, and so different-looking from Perl? And why is the option of "do ||
For example (and please correct me if my assumption is wrong), why can you choose between "for do ||
Need to see it in job ads before it's "official" (Score:4, Insightful)
I'm not officially OT. See, I still read wants ads. And I look at what's in demand for clues to what I should be learning, trends, etc. Databases are a good example from a couple years ago. I noticed that lots of the 1996 job ads had web->DB stuff in them, and so starting brushing up on databases in my off hours. It turned out to be useful later on. I know that one could take this line of reasoning to mean that everyone should start learning VB and IIS stuff, but it isn't an absolute. You kinda have to read all the ads and then stand back and squint to see the trendfs in your area. If you're a Unix geek, you'll see what ost people want, which might lead to learning something new.
My (long winded) point is: Ruby won't be on my radar until people can reasonably be expected to pay me for using it. I know I just got modded down in the minds of a lot of poeple by saying that, but it's how I think. When I see Ruby listed in want ads, then I start noticing it (especially if its mention grows over time). I figure that I need to kill two birds with one stone: know enough to get my job done by knowing a diverse enough range of stuff so that I can still get paid. If I spent all my time learning every other thing that came out, I'd never get any work done. And I'd only know a little bit about everything. I need to know a certain subset of things really well, and just the right amount about a lot of other stuff in order to stay competitive. It's setting that threshold of other stuff where the want ads come in handy. If everyone wants wireless all of the sudden, something's up. So I devote a little time to learning it.
I guess as I get older, I'm starting to value my unplugged time. I can't burn 36 straight hours engrossed in new (and mostly arcane) stuff like I did 15, 20, or even 10 years ago. I have to choose my projects and apply my time wisely. So whern I start seeing Ruby in the wants ads, I'll take a look. I'll be behind the curve, but that's fine.
-B
just have to wait. (Score:1)
print "Hello, World"
before i try to learn something else.
Re:just have to wait. (Score:4, Funny)
print "Hello, World"
before i try to learn something else.
You're in luck. That code is valid for both Python and Ruby. If you stay on this track, you'll master both languages in no time.
I'm going to come out with a scripting language (Score:1, Offtopic)
I long for the day when I will have an o'reilly interview where I get to sit and talk about ASS.
Ruby for Artificial Intelligence (Score:1)
There is a Mind-to-Ruby [sourceforge.net] liaison page for coodinating the implementation of an Open Source AI Theory of Mind [scn.org] in Ruby.
A previous instance of porting the AI to Visual Basic was Mind.VB of 3.Apr.2000. [virtualentity.com]
A more recent port from JavaScript into Java is at Mind.JAVA of June 2001. [angelfire.com]
The Ruby programming language leads to a technology transfer of American AI to advanced Japanese robots: the Technological Singularity. [caltech.edu]
Matz should clean up the syntaz while he still can (Score:1)
I think he should stick with one of the {} or do...end styles; eliminate the @ from @member (maybe .member?); generally don't be afraid to make it a MORE beautiful language.
One good thing... (Score:1)
better alternative for product development (Score:4, Interesting)
I don't know if Ruby fits that bill, but it would be a reason to switch if it does.
Of course, I know that code in any language can be well documented and written so that's easy to understand. It just seems like code written in Perl is much more likely to be difficult to read than in other languages more appropriate for applications.
I'm part of a group that has had Perl code (using the OO facilities) handed off to it to maintain and fix. It contains many Packages and probaby several thousand lines of code. Not sure. I've successfully kept my name off the responsibility list for that code. It's been pure hell for the engineers that have been asked to fix it--and all it's supposed to be is a simple parser and data access interface.
I use Perl myself for my own scripting but it can be cruel and unusual punishment to be given someone else's Perl to maintain.
It's enough to make you take your clothes off and run around the office screaming "I CAN'T CODE NAKED!!! AHAHAHAHAAHAH!!!" until they put you on a different project.
Ruby just clicks with a lot of people (Score:1, Interesting)
Sure some people will still prefer Perl and other Python, but a lot of people seem to be finding that Ruby just clicks for them.
Maybe it's Matz's design philosophy "The principal of least surprise"
I really hope Ruby gains ground (Score:3, Informative)
* There's iterators & blocks
*A unified class/type system (meaning you can extend built-in types like String,Array,Hash,Kernel, etc)
* fully OO - 42.times { |i| puts i }
but it doesn't get in the way when you don't want OO, like it seems to with Java.
* Design patterns - Observable,Delagator,Singleton,...
* dRuby - Ruby's very easy to use distributed object system.
For now it's great fun, hopefully someday it'll pay the bills too.
Yet another poorly communicated language... (Score:1, Flamebait)
I looked at Ruby. It is certainly a heartfelt attempt. However, it seems to me that yet another poor communicator has written yet another language.
Not only that, but the Ruby creator has created his own syntax. A new language has one big advantage for the creator: The creator finds the syntax very familiar. Everyone else must struggle.
Links:
The Ruby Home Page [ruby-lang.org]
Ruby Language Reference Manual [ruby-lang.org]
The Ruby Language FAQ [rubycentral.com]
Programming in the Ruby language [ibm.com] by Joshua D. Drake, who is a good communicator.
A Slashdot story and comments: Programming in the Ruby Language [slashdot.org]
Positive comments about Ruby:
Introducing the latest open source gem from Japan [ibm.com]
Thirty-seven Reasons I Love Ruby [hypermetrics.com] by Hal Fulton.
Negative comments about Ruby:
As mentioned above, Bruce Eckel does not like Ruby [mindview.net]:
"IMO, the Ruby syntax is
Eckel again: "... Python has 10 years behind it and a big, very smart, very active community, a nice number of good books and more on the way, a large set of libraries and a whole process and team in place for developing the language. Recent improvements to the language have outstripped whatever Ruby could offer, I think, and there's currently lots of very good work going on to further improve Python."
For those who would like to quickly see for themselves, there is a section of the The Ruby Language FAQ called Show me some Ruby code [rubycentral.com]
Quotes from Ruby's creator, a Japanese man with an incomplete command of English:
What is the history of Ruby?
"Well, Ruby was born on February 24 1993. I was talking with my colleague about the possibility of an 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 appeared to be add-on to the language. As a language manic and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use 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 of Perl into a class library, and implemented them. I posted Ruby 0.95 to the Japanese domestic newsgroups in Dec. 1995.
"Since then, highly active mailing lists have been established and web pages formed."
--
Links to respected news sources show how U.S. government policy contributed to terrorism: What should be the Response to Violence? [hevanet.com]
Maybe Slashdot should do an "Ask Bjarne" (Score:5, Insightful)
Instead of automatically plugging C++ he suggested something like this:
1. Learn (or read) at least one every year or two so you don't get pigeonholed into the limitations of the language you use every day. Different languages promote different approaches - and different approaches/designs are the toolchest of this industry.
2. At least try out one functional language (Lisp/Scheme), one OOP language(C++/Java), one procedural language. None is better than the other, they have different takes on the world and shine at solving different types of problems.
3. Sticking with one language (at the total exclusion of others)limits your output and stunts your learning curve. Looking at more than one also reminds you what languages are for -- expressing more succinctly and clearly the instructions you want the computer to heed.
This being said, I look at lots of languages and I've learned a lot from using Ruby (and I use it a lot now). The best ideas from Perl, Smalltalk, Python and C/C++ are all there. The downsides are not (Perl - clumsy OO, Smalltalk - high-priced/low acceptance, Python whitespace-significance/non-OO primitives, C/C++ - compilation, etc.). The user community is probably the most helpful and thoughtful I've been a part of as well.
As far as Ruby's success at translating your thoughts to working programs? I read posts where people claimed they wrote less code, got more functionality, and fewer bugs right away. At the same time, they claimed they generally produced cleaner solutions at a faster rate than they ever had before with Perl or Python. Skeptical at first, I tried it out. . . I was shocked to find it was true for me within 2 days - I was sold.(note - I really am baffled by Bruce Eckel's comments on Ruby. .
Final note: If you are interested in becoming a better programmer, you should get the book "The Pragmatic Programmer" and read it(It was previously and glowingly reviewed by Slashdot - and no, I'm not the author). Its full of great advice on how to approach new languages and the general art of programming. The authors also wrote the book "Programming Ruby" (The "pickaxe" book) and they are big fans of Ruby as well.
A framework for web apps (Score:3, Informative)
You can check out the site [outerbody.com], the code [outerbody.com] and the thing at work [outerbody.com].
Pretty neat! There are also some nice Ruby resources at the same site [outerbody.com].
Ruby was the father of Microsoft Visual Basic. (Score:1, Informative)
Sources:
http://www.webword.com/interviews/cooper.html
http://www.cooper.com/
Ruby incorporated into Midgard core (Score:1)
Wrong sort of Ruby (Score:2)
When I first saw the title I immediately thought it was another thing by the same name: Ruby Annotation [w3.org]. (31 May 2001, Marcin Sawicki, Michel Suignard, Masayasu Ishikawa, Martin Dürst, Tex Texin)
The sort of Ruby I had in mind was a type of markup used to add pronunciation alongside text.
Re:Shoga wa? (Score:4, Funny)
Like Java(tm). Oh, wait, that's the power of COBOL with the ease of, well, COBOL.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. All rights reserved. The Java name and Java logo may not be used without express permission from Sun Microsystems, Inc. Sun Microsystems reserves the right to pretend interest in "open source" development yet maintian dictatorial control over ever last freaking aspect of the Java bloated programming language because Sun Microsystems were the first and only people to think of "write once, run anywhere." Oh, and that phrase is trademarked, too, so don't even think of applying it to anything else, even if it's true (which it isn't for Java, but we have the marketing and the laywers, so there).