"Richard Conroy" <richard.conroy / gmail.com> wrote in message news:511fa3a20711280513m702a8b1ft2f0ee7f1130ee1be / mail.gmail.com... > On Nov 28, 2007 12:30 PM, Just Another Victim of the Ambient Morality > <ihatespam / hotmail.com> wrote: >> Warning: I don't really know what I'm talking about so if I make any >> mistakes in terminology, please try to correct me... >> >> >> I've been doing a lot of Python programming and I've discovered that >> it's actually a very powerful language. The language, itself, lacks any >> kind of elegance but it has all the power of Ruby and a little more >> performance. It also has a richer set of libraries, although not in all >> areas, surprisingly. >> One thing that Ruby should take from Python are continuations. > > Ruby has continuations. Though in practice they are not used much. > They have caused serious pain in implementing JRuby for instance, > to the point that IIRC JRuby does not support them out of the box (and > this doesn't diminish JRuby's value really). > > But there are a lot of really smart people looking into Ruby right now. > Don't expect the dormant Lisp-like features to stay unused. > > Python 'lacks any kind of elegance'? Thats unfair. It is more correct to > say, that Python has a different value system for code expressiveness. Indeed, I wasn't trying to be fair, I was just expressing a personal preference. While Python is clearly a powerful and useful language (I'm programming in it, aren't I?), its syntax choices irk me to no end. len() is a function that can take a list but .append() is a method of list's? Arg! Zero and empty strings evaluate to false? Arg! Both zip() and dict.items() are built-in but izip() hides in the itertools module while dict.itertimes() gets to be built-in? Arg! Considering how iterators are more useful than actual lists, double arg! As it so happened, I did expand on some of the differences between Python's code values and mine, later on in my post... > Python and Ruby are more or less peers on the Language Power Continuum. > Choice between either will depend more on specific task details, specific > library availability or personal preference. Of course. I'm programming in Python, aren't I?