Python has a lot of weird inconsistencies which make it a bit of a pain to use (but not as painful as PHP).
Comments:
Mr Pot? Mr. Kettle on line 2...
Having just learned Ruby after programming in Python a long time, I’m honestly not impressed. Lots of things feel like kludges, like using ()s for arguments except when in a block where you use ||. Like the fact that so many Ruby examples don’t use parens around argments in method calls, making them terribly hard to read (but you can use parens).
If Python didn’t exist, I’d probably use Ruby. But, Python does exist, and I LIKE it. The biggest benefit of Ruby is Rails, if that works for the kind of things you want to publish on the web. Python certainly has more choice if that is NOT what you want to publish, but for what Rails does I haven’t seen anything in Python that matches it.
Python versus Ruby really just comes down to a personal taste thing. I wouldn’t say “Learn X instead of Y”, I’d say “Learn BOTH X and Y” and pick the one you like the best. Don’t take my word for it, because your personal preference is likely to be different than mine.
Sean
defensive much?
Sure, it definitely be worthwhile to learn both Python and Ruby (and Perl and Haskell and Java and ML and Scheme and Prolog and … and … and …).
Not defensive much.
If Haskell or Prolog are actually options someone is seriously considering using, there’s no reason to even consider Ruby or Python. Python and Ruby are extremely close in target audience, Haskell and Scheme are most definitely not.
It’s quite reasonable for one to consider both Ruby and Python if they are thinking of selecting one. It’s not at all reasonable to try to overwhelm them by suggesting they should try every language available before making a selection. It IS reasonable to suggest they try something else that is in exactly the same target area.
Sean

