From: Dave Thomas Date: 2000-02-14T21:08:06-06:00 Subject: [ruby-talk:01360] Re: Say hi (bis) matz already answered some. I'll take a crack at some others. Pixel writes: > -------------------------------------------------------------------------------- > bad points: > > -- redefine a function -> no error It used to with -w, but it was a pain (because many methods are intended to be overloaded). However, it's easy to produce a mix-in module that checks for redefinitions whenever a method is added to a class. This could be applied globally or to a particular class. > -- no type checking (really, there could be a mode paranoid that > would catch most typos) Personally I think that's a big plus ;-) However your could write (in Ruby) a set of functions that (say) enforced types on a collection class: given a template class you could create new classes with the template instantiated. > - hash are real hash -> can't keep order (maybe a Vector would be > nice (also more economic)) There's also the assocc/rassoc functions. > - doc not as good as perl's :ppp We've recently started working on a new Ruby book, and this list is helping tighten up the English-language FAQ. However, you _are_ something of a pioneer using Ruby right now. That has its good points and its bad points. > / in hash, { a => 1 } not allowed, must be { 'a' => 1 } One of the joys of Ruby is that it's far, far more regular than Perl. When you see 'a', you know it's a local variable or a method call. I must admit the 'a' => 1 thing bugged me a tad at first, but I've come to appreciate the tidiness of it. > / no implicit transformation string <=> num I could argue this one both ways, having been bitten by Perl doing it and Ruby not doing it. In the end, I think I come down on Ruby's side--again it's a question of being regular. Welcome to the list--and thank you for the thoughtful points. Regards Dave