From: David Alan Black Date: 2001-11-13T10:20:33+09:00 Subject: [ruby-talk:24968] Re: Linux Magazine article Hello -- On Tue, 13 Nov 2001, Dave Thomas wrote: > > > Andy & I've been asked to write a feature article about Ruby for Linux > Magazine (www.linux-mag.com). > > I want to make this an upbeat article, featuring Ruby's strengths, and > not other language's weaknesses. So, a quick poll request: what > features of Ruby do you think would most impress or excite someone who > hasn't used the language yet? What small applications would whet > people's appetites? My favorite things (not very original list) include: * Cleanness of code. I love looking at a screen and thinking there's nothing there, then realizing that a ton of stuff is going on :-) * Iterators. * Dynamism and extensibility. That "you can even eat the tablecloth" feeling. One thing that I'm very intrigued by, and that might be ripe for a fresh presentation, is inheritance in Ruby. We've often heard mixins described as the thing Ruby does instead of multiple inheritance. I don't know if this article is the place for it, but it seems to me maybe it's time to find a way to describe the whole Ruby way of handling this in a completely positive manner. (I don't just mean positive in the sense of enthusiastic, but positive in the sense of something actually there, rather than something which fills in for something that's missing.) I encountered YAOOOOP (Yet Another Overview Of Object-Oriented Programming) recently (in the book "Using UML"), and was struck by the description of inheritance as, not inherent to OO languages, but as one possible way of implementing generalization. Matz has described inheritance in Ruby as primarily a shared implementation. I don't know, maybe there's some way to put these pieces together and turn the tide away from looking at mixins as ersatz multiple inheritance, and, instead, looking at the whole thing (inheritance which is called that but is not exactly the same approach to generalization that other languages' inheritance is, plus the existence of mixins) in a new way. (And if that doesn't fit into your article, maybe I'll work on a white paper :-) David -- David Alan Black home: dblack@candle.superlink.net work: blackdav@shu.edu Web: http://pirate.shu.edu/~blackdav