Whitespace delimiters suck

William Tanksley wtanksle at hawking.armored.net
Thu Jan 20 23:10:43 EST 2000


On Thu, 20 Jan 2000 17:04:34 -0800, tye4 wrote:

Hmm...  Interesting subject change.  It's honest -- thanks.  I think ;-).

>Tim Peters <tim_one at email.msn.com> wrote in message

>> I haven't used this script myself (I prefer indentation, for reasons
>> covered earlier), but there's no good reason it *can't* be used for
>> its stated purpose <wink>.

>I don't oppose indentation either. It's good for program readability, and
>readability only. It shouldn't be part of the syntax.

But you forgot something: you forgot to justify your conclusion.  All
you've done is assert it over and over.

>Whitespace end delimiters are invisible and hence confusing and prone to
>error.

Whoops, here's an argument.  Looks like I was wrong about you forgetting
to justify your conclusion.  Unfortunately, it's both invalid and false.

It's invalid because it's arguing beside the point -- Python doesn't use
whiespace as a delimiter.  Python uses indentation to _remove_ delimiters.
There are no more delimiters, invisible or otherwise.

It's false because indentation is NOT invisible -- on the contrary, it's
almost impossible to hide.  All of the other block delimiting schemes have
suffered from illegibility -- Oberon even whent so far as to require its
block delimitation in UPPERCASE to make it more visible.  Unfortunately,
programmers don't want to see block delimiters; they want to see BLOCKS.

>I've used some stupid Unix shell languages which fail if I add whitespace:

There you go.  Fortunately, Python isn't one of them.

>I thought they gotten rid of all such languages until I came across Python.

Have you seen TCL yet?  Shudder.

>Good programming languages should be whitespace tolerant, and most of them
>are.
>(C++, Java, Ada, BASIC, HTML, Eiffel, Perl, Pascal, ML etc... really long
>list.)

>Why is my question about whitespace raise so many eyebrows? This feature is
>commonplace.

tye4, you've just answered your own question.  If you think about it
really hard -- and try to put your prejudice aside -- you might realize
the truth of the matter.

Or I might tell you.

Python uses indentation for the same reason ML uses type inference, Perl
uses multiple namespaces, and Eiffel uses static typing.  Because it's one
the the features of the language.  That's IT!  It's so simple.

If I didn't like indentation, I would walk away and use Ruby or Rebol.

(Psst -- guys?  Shall I tell him?)

Okay, here's the REAL truth.  You said that we were resisting your ideas
because we were stubborn idiots.  Actually, we're almost fiendishly
clever. We use Python this way strictly because it pisses you off so much.
Well, you and Michael (just a guy here at work).

Well, now you know.  And feel free to talk to the press about it.

The van's on its way.  No, not the press van -- the black van.

>-tye4

-- 
-William "Billy" Tanksley, in hoc signo hack



More information about the Python-list mailing list