Rhymes graced us by uttering: > " JamesBritt" <james / jamesbritt.com> wrote: > > You don't. Python is a very capable language. That said, many > > people with Python experience have decided Ruby better suits their > > needs. > > Thanks for the link. I decided to take a look at the Ruby doc (I've > downloaded ruby 1.66 package for win containing a whole book) but I > think I'll don't like much its syntax cause I don't like Perl's at > all.. Yup, with an anti-Perl attitude that strong, you're definitely a Pythonista. =) Honestly, I started using Perl. On recommendation from a Perl user on comp.lang.perl.misc, I tried Python and I was very pleased with how clean Python's syntax was. I then looked into Ruby due to a similar recommendation. Ruby initially looked like a cross between Python and (*GASP!*) VB (because of the "end" keyword). But I'd also heard a lot of OO advocates sing Ruby's praises wrt it's object model... And they were right! Perl's OO model is a nasty, ugly hack. But it's regex support is unmatched. However, (and this ticks off Pythonistas to no end) I see a poetry and beauty in Perl's syntax. But this doesn't mean it's perfect (or even a remotely good idea) for other languages. Python's OO model is still quite awkward for me (Py v2.2), thought it _is_ making a lot of progress. It has regex support, but is also very awkward because of the seemingly forced object interface, reminding me (unpleasantly) of Java. OTOH, I *LOVE* Python's indentation-based statement grouping! Oh yeah, Python's threading is quirky on some systems. Ruby is neither of the above languages. - It supports regex's in both an object interface (a la Python) and via Perl-style variables. - Ruby's object system is beautiful, elegant, and practical. It's much more "pure" (in the Smalltalk definition) than either Perl or Python and allows you to retroactively modify pre-existing instances of an object at runtime by modifying their class. (See <http://www.unr.nevada.edu/~tahammer/hack/ruby/> for an example). - Its syntax contains elements of Perl's regexps, but any perceived similarity to Perl's variable system is strictly coincidental. eg: Perl Ruby ---- ---- var <illegal var name> lexical variable Var <illegal var name> constant lexical variabls $var scalar variable global variable @var array variable object instance variable @@var <illegal> class variable Any variable can hold any type of data. The format of the variable's name merely dictates how it may be accessed. Alright, so it's obvious I like Ruby. =) I use it for admin, editor scripting (Vim <http://vim.sf.net>), and medium to larger projects. My only hope is that you take Ruby for what it is, and not for what it might resemble at a glance. Happy coding! Tim Hammerquist -- BOUNDARY, n. In political geography, an imaginary line between to nations, separating the imaginary rights of one from the imaginary rights of the other. -- Ambrose Bierce, The Devil's Dictionary