A really bad idea.
James J. Besemer
jb at cascade-sys.com
Thu Nov 14 18:04:47 EST 2002
Manuel M. Garcia wrote:
> A good point. Python is pretty darn small.
I disagree.
> O'Reilly's Python Pocket
> Reference for Python 2 is 124 pages, and only because the major
> modules are referenced starting at page 65.
I collect pocket reference guides, and FWIW, Python's is the largest!
Perl 5 (including libraries) is only 48 pages.
I have C/C++ pocket refs that work out to 8 pages for the language and 8
pages for the libraries.
Python includes virtually all of the features commonly available to most
languages plus a bunch of extra features that appear only in non mainstream
languages or that are entirely unique to Python. Tuples, Longs, Imaginary
numbers, list comprehensions, while/else, for/else, generators, are examples
of Python features that are not commonly available in other languages. The
list grows considerably if we include features common to Perl (e.g., lists,
dictionaries, slices, strings) but which are otherwise missing from most
mainstream languages. I suppose the one thing Python (Perl and others) leave
out are variable and type declarations, which goes to making the language
seem smaller than others.
I don't raise this point to complain or suggest Python is bad. I actually
think it's a tribute to Python's superior design that so MUCH functionality
is contained in a manageable tool. Python is so well designed that it SEEMS
small even though it's comparable to the most elaborate programming systems
ever made.
Disagreeing with the OP, I rather think Python tends to go overboard the
other way in deference to newbies and naive programmers. This is why Python
consciously rejects assignment within an expression, ++ and --, ?:, var
parameters and goto, even though most experienced programmers already know
how these constructs work. It's ostensibly the reason why integer division
was redefined to produce a real result -- because naive users might be
"confused" by a truncated integer result. I think the designers are overly
pedantic on this point overall and thus sometimes make the wrong call. In
any case, it's certainly not fair to suggest that Python errs in adding "hard
to understand" features.
Some learning curve is inevitable even in the most readable language.
Regards
--jb
--
James J. Besemer 503-280-0838 voice
2727 NE Skidmore St. 503-280-0375 fax
Portland, Oregon 97211-6557 mailto:jb at cascade-sys.com
http://cascade-sys.com
More information about the Python-list
mailing list