Larry Wall's comment on python...
Tim Daneliuk
tundra at tundraware.com
Fri Sep 6 17:10:07 EDT 2002
> The very idea of Larry Wall lecturing on code readability is hilarious.
>
> -Dave
>
>
Well, that's true, but for all of its similarity to line noise, perl has
been an enormous contribution to our profession/community. I would never want
to diminish Wall's stature, therefore.
As someone deeply steeped in Algol-derived languages (C, PL/M, PL/I, Java ...),
I find Python's indentation approach refreshing on two (pardon the expression), levels:
- It makes the compiler/interpreter do the work instead of me - Why should I have
type {} and ; when the language can figure it out for itself.
- It causes me to factor code better. Python encourages a style that
obviates (some of) the need for the kind of syntactic structures found in older
block-structured languages.
Wall's comment is correct if you insist on Algol-style block
structuring. But Python encourages you to factor in a way that makes
such block structure different and perhaps less necessary. In
particular, the ability to combine functional, procedural, and object
constructs in a seamless way gives you the ability to do a lot of
structuring and scoping *implicitly* w/o the need for explicit
indentation or block delimiting. Python not only "Fits Your Brain", it
changes how your brain processes and reduces problems. *This*,
in my view is why the absence of block delimiters is not a big deal.
On a personal note, I've had an interesting year - I've been coding in nothing
but Python (Unix & Win32) and *assembler* (embedded PIC processors). Talk about
a contrast! Yet in both cases, the languages "Fit My Brain" for the tasks at
hand. For instance, I find almost all compiled languages (even C) intrusive
when writing code for embedded systems. Assembler is so much more expressive
there because *it directly reflects the state of the hardware being controlled.*
Similarly, I love Python for most other (higher level) tasks because *it painlessly
reflects the state of the computational problem being solved.* Now, I only wish
for an excellent Python optimizing compiler with a retargetable code generator ...
*that* would be Bliss (and I don't mean the language ;)
--
------------------------------------------------------------------------------
Tim Daneliuk
tundra at tundraware.com
More information about the Python-list
mailing list