I am comparing Python to a few other scripting languages, and used a simple 
anagrams program as a sample.

I was surprised ast a few python features that did not work as I would 
expect/wish; which caused less compact/expressive program styles that I 
wanted - reverting to a FORTRAN like series of assignments.

For example,
   - why is len() not a member function of strings? Instead one says len(w).

  - Why doesn't sort() return a value?

    This would allow things like:
        key = '',join( list(word.lower().strip()).sort() )
    instead:
        key = ...
        key.sort()
        key = ...

   - Another feature I assumed but it failed, is a nice default for 
dictionaries, and more += like operations;
   For example: to acculumate words in a dictionary -
        dict[key] += [word]

     Instead of:
        mark[key] = mark.get(key,[]) + [word]

The former seems very intuitive, and clearer.
I am a bit used to the compactness and convenient defaults of Perl, which 
would do this:
   my $key = join '', sort(split(//, lc($word)));
    push @{$anagrams{$key}}, $word

I am curious why these "obvious" conveniences are not present.  :-)
Thansk for any context or insight.

Best,
Gregory

Perl is great, and 



----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet 
News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ 
Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to