il Thu, 20 Mar 2003 05:05:25 GMT, Travis Whitton <whitton / atlantic.net> ha scritto:: >There are a lot more than this, but these are just a few things that spring >to mind: > >o Super easy to extend with C modules yes, I know. But I never developed C modules so I omitted it. >o The power of mixing in Enumerable Already mentioned Iterators, I should have pointed enumerable >o Simplicity of mixins vs multiple inheritance There are lot of people that lived happyly with multiple inherithance, you may even think about UML as the standard object thinking, and they have it. >o A builtin class library small enough to memorize but powerful enough to > do basically anything you want but they could say we miss lots of things the already have, such has a (quite) mature application server, a gui builder, and theyr stdlib is not useles >o Total syntactic consistency(everything is an object) I think in 2.2 they superseeded he type vs class problem, though obviously ruby is pure OO and P* is not. > 5.times {|num| ...} > "foo".reverse I *love* this kind of things, but if you try to say "hey, you have 5.upto(val){block} in ruby!" they'll say you: "well, I use for()" You have to show someone *huge* enhancement to buy his soul^W trust in a new language. I always remember when I started learning OO, and talking with a friend with Pascal background: me: "yeah OO is great, it reflects real world!" friend: "Sure. How do you make coffe?" me: "well, I open the coffe machine and put in coffe and water, put it on fire, wait and drink" friend: "see, this is just imperative working" It's too hard to pass mental locks (anyway, I feel good using ruby)