the best online course

Bob Martin bob.martin at excite.com
Mon Jul 11 07:05:51 EDT 2016


in 762282 20160711 063300 Steven D'Aprano <steve+comp.lang.python at pearwood.info> wrote:
>On Monday 11 July 2016 13:07, Rustom Mody wrote:
>
>> Python is good for black-box – us the ‘batteries included’ without worrying
>> too much how they are made
>> Scheme, assembly language, Turing machines etc are at the other end of the
>> spectrum
>
>I would put it the other way.
>
>Python is excellent for "white boxes", because the syntax is extremely
>approachable, easy to read and comprehend. (Although you may wish to avoid some
>of the more complicated and hairy features if your emphasis is on learning.)
>It's famous for being "executable pseudo-code" and neither too concise nor too
>verbose, and lacks the syntactic cruft which can impede understanding (braces,
>type declarations), which makes it excellent for teaching about algorithms,
>etc. But for some tasks, at least, it may lack speed and efficiency to be a
>practical "black box".
>
>Scheme, assembly, C, Forth etc are excellent for black boxes, as they are
>extremely efficient languages, but not so approachable, readable and
>comprehensible.
>
>Turing machines are to be avoided except for academic proofs that a certain
>feature or language is equivalent to a Turing machine, in which case we know
>precisely how much power it has, computation-wise. Turing machines are neither
>efficient enough to be used as black boxes, nor comprehensible enough to be
>used for white boxes.
>
>Take Python's StringIO class. Would you rather *read* the Python version or the
>C version? Which would you rather *use*?

The Rexx version  :-))



More information about the Python-list mailing list