parse / my.sig.net writes: > But something struck me as odd. One of the nicest things about > Smalltalk is that statements read like ordinary imperatival > sentences in English. Instead of writing > > object.doFoo(otherObject, thirdObject) > > you can write > > object doFooWith: otherObject andWith: thirdObject > > using prepositions and not simply named parameters. I believe that keyword parameters are due in a coming release of Ruby. That'll give you most of the Smalltalk-like syntax, omitting only the pattern matching overload. > The authors praise Ruby for having dropped this "non-standard" > syntax. Actually, it wasn't really that part of Smalltalk we were talking about. If was more things such as 1 + 2 * 3 => 9, and the sometimes difficult to read ifTrue: stuff. (Although I personally find a[1] clearer than a at: 1, but that's just what I'm used to). > What Ruby does share with Smalltalk is the use of blocks. I might > grow to like blocks, and I'm not denying it's a powerful feature. > But it is not a feature that lends itself to readable code. I find > it much easier to quickly get my head around a Python statement like > > for each item in myCollection Of course in Ruby you can have the best of both worlds: myColleaction.each { ...} or for item in myCollection ... end > But maybe in six months I'll come round. I'm betting 6 days ;-) Dave