Tabs -vs- Spaces: Tabs should have won.

Ian Kelly ian.g.kelly at gmail.com
Sun Jul 17 18:39:33 EDT 2011


On Sun, Jul 17, 2011 at 2:12 PM, rantingrick <rantingrick at gmail.com> wrote:
> On the face of it one might think vertical tabs are a good idea
> however newlines work just fine. There is no reason for expanding
> vertical whitespace to create readble code. If you can offer a good
> reason i'm listening. Also be sure to post links where others have
> requested the same.

Okay:

1) Vertical tabs create freedom in the form of user controlled vertical spacing.

Vertical spacing height should be a choice of the reader NOT the author. We
should never "code in" vertical spacing height; but that is EXACTLY what we
are doing with newlines! No, the reader should be able to choose the
vertical spacing height without ANY formatting required or without any
collateral damage to the source code. Vertical tabs offer freedom,
newlines offer
oppression.

2) Vertical tabs remove the need for complicated newline-formatting tools.

With "vertical tabs only" you no longer need those fancy tools to add
the correct number of newlines between classes or methods.. THAT IS
EXACTLY WHY VERTICAL TABS
WHERE INVENTED! Why are we not using this technology? Why are we
continuing to promote newlines when vertical tabs are obviously more superior?

And as to why we should remove newlines:

3) Using only one vertical space token removes any chance of user error.

Unlike many syntactical errors, vertical space is invisible in a text/
source editor. Sure there are tools that can make vertical space visible,
however why do we constantly create asinine rules that force us to use
complicated tools when we could have choose vertical tabs and none of this
would have been a problem?

4) Vertical tabs maintain unity in the source code base.

When we replace "newlines only" with "vertical tabs only" we maintain
a code base that promotes unity and
not conformity. There shall not be any "inconsistent vertical spacing
errors" due to mixing vertical tabs and newlines. Also we can avoid
adding multiplicity
to the compiler. The compiler will not have to consider BOTH vertical tabs AND
newlines as valid vertical spacing tokens, only vertical tabs. The
logic would be much
simpler.

> Besides, horizontal tabs are tied closely to distinguishing code
> blocks. Vertical tabs do not have such a benefit. Instead of vertical
> tabs we need strict rules on vertical code formatting. I intend to
> draft AND implement such rules very shortly.

Vertical spacing helps to visually separate classes from other
classes, and methods from other methods.

>> I think I get it now.  Your idea of "freedom" is that anybody can do
>> whatever they want as long as it's not illegal,
>
> In a programming language yes. You're trying to draw correlations
> between morality and law. In the arena of programming there is no such
> thing as morality, only the law.

You have been drawing the same correlation from your very first post
where you stated, "Tabs offer freedom, spaces offer oppression."

>> and the ruling party
>> just makes anything it doesn't like illegal.  In other words, a
>> monarchy.
>
> What do you think we have now, a democracy? Does "Benevolent?-Dictator-
> For-Life" ring a bell?

I don't see Guido going around making ridiculous pronouncements about
what forms of indentation are acceptable (beyond the standards that
are set and expected for the standard library, that is).  He could
have made the language space-only from the very beginning.  He didn't;
that should tell you something.  He also could have insisted that the
parser only accept source written in the ISO-8859-1 encoding "for
unity and freedom", but he didn't.  Or he could have stated "absolute
imports only" from the very beginning, and yet even in Python 3 where
the old-style relative imports have been removed, relative imports are
still available to be used.

> I can tell you one thing for sure. In MY version of Python everyone
> will have a voice. That does not mean that EVERYONE will make the
> final decision but EVERYONE's voice will be equally important.

Thanks, but I won't be needing a voice, because your version of Python
will clearly be too limiting from the ground up for me to have any
interest in using it in the first place.

> I can
> also tell you this. I will not hide under the coat tails of my dev
> team , NO, i will mingle with the people on my comp.lang.rickpy list.
> Mats (Ruby's creator) will answer questions on comp.lang.ruby so why
> does Guido refuse to acknowledge us here on comp.lang.python?

Probably for the same reason that (I presume) he doesn't spend all day
answering Python questions on stackoverflow or responding to comments
about Python on slashdot: he can get more done in his actual job by
unsubscribing.

If you want to have input on Python, all you have to do is subscribe
to python-dev.  Of course, it *is* a moderated list, so if you make as
much of a nuisance of yourself over there as you do here, they might
kick you out.



More information about the Python-list mailing list