Python vs. Perl, which is better to learn?

Alex Martelli aleax at aleax.it
Mon May 6 11:35:08 EDT 2002


Gustavo Cordova wrote:
        ...
> "You can write really good, robusr, readable, maintainable code in
> assembler."

Oh yes you can.  I still remember what a joy it was to read Mike 
Cowlishaw's BAL/370 code for the original Rex interpreter (before
it gained an extra X) -- with the System/370 Principles of Operation
book, the thick printed listing of Mike's Rex, and highlighter and
pen to cross-reference things, I taught myself 370 Basic Assembly
Language (i.e., no fancy macros) and soon knew it far better than I
ever did the assembly-level languages I had learned in University
(Z80, HP/1000, PDP-11, VAX, and Knuth's Mixal).

I've never seen such joy-to-read large swathes of assembler code for any 
machine _except_ IBM's mainframes, though.  And even for the 360 and
370, _most_ code I later had to study was a huge disappointment compared
to Mike's Rex interpreter (as, no doubt, was, to other readers, that I 
wrote myself).

I think it takes an exceptionally clean architecture (IBM/360, where
art thou!), an exceptionally good coder, AND a culture that reveres
assembly code, performance, spareness of expression, AND clarity.  IMNSHO 
not even Knuth consistently reaches such heights in his masterpiece, for
all that his code snippets are tiny compared to Mike's opus.  These days,
I suspect the culture prereq has just dissipated: we'll never see the
like of that again, I think.

*For all that*... Mike was just as clear &c, and 10 to 100 times more
productive, when he programmed in a higher-level language he really
liked (such as his own Rex, of course:-).  Part of why I think we'll
never see such splendid huge assembler programs is *we can't afford
them* -- we, as a society, cannot afford to cut the productivity of
the very best coders by one or two order of magnitude in terms of FP
produced per hour of programming effort.  We're just too hungry for
programs, and the very best coders far too scarce a resource.


Alex




More information about the Python-list mailing list