From python-dev, space vs. tab controversy finally settled

C

Carl Banks

Here's a summary of the final decision Guido made concerning how
Python will indent code in the future, from python-dev:

Guido had been planning to deprecate tabs in favor of spaces for
awhile, although there have been good arguments for both tabs and
spaces. But he was never really comfortable pulling the rug out from
half the user base. However, today he finally decided on a compromise
that has all the benefits of both spaces and tabs.

His decision was predicated by the recent decision of the Unicode
Consortium to allocate some new codes for special use in programming
languages. The Consortium allocated codes for (among other things):
several sets of left and right braces, several sets of quote
characters, a couple universal comment markers, and several
metacharacters for use in regular expressions.

However, the code that influenced Guido was a special indent code.
Here's how it works: at the beginning of the line, you put in one
"indent character" for each level of indentation. Because Python will
support Unicode fully by 3.0, Guido decided that this new Unicode
character will be the one and only way to indent Python code.

Now, I'm sure everyone's aware that Unicode is getting kind of full,
and so, rather than allocating precious ununsed slots to the new
programming characters, the Consortium decided reallocate some codes
that had been rarely used. These codes fall in the range 0001 through
001F, excepting 000A and 001A (all codes in hexadecimal). The new
indent character has code 0009.

So, you should start using Unicode character 0009 to indent right
away. Python 2.4 will deprecate all indentation not using the new
indent character, and Python 3.0 will not support any other
indentation.
 
J

Josiah Carlson

Carl said:
Here's a summary of the final decision Guido made concerning how
Python will indent code in the future, from python-dev:

Guido had been planning to deprecate tabs in favor of spaces for
awhile, although there have been good arguments for both tabs and
spaces. But he was never really comfortable pulling the rug out from
half the user base. However, today he finally decided on a compromise
that has all the benefits of both spaces and tabs.

His decision was predicated by the recent decision of the Unicode
Consortium to allocate some new codes for special use in programming
languages. The Consortium allocated codes for (among other things):
several sets of left and right braces, several sets of quote
characters, a couple universal comment markers, and several
metacharacters for use in regular expressions.

However, the code that influenced Guido was a special indent code.
Here's how it works: at the beginning of the line, you put in one
"indent character" for each level of indentation. Because Python will
support Unicode fully by 3.0, Guido decided that this new Unicode
character will be the one and only way to indent Python code.

Now, I'm sure everyone's aware that Unicode is getting kind of full,
and so, rather than allocating precious ununsed slots to the new
programming characters, the Consortium decided reallocate some codes
that had been rarely used. These codes fall in the range 0001 through
001F, excepting 000A and 001A (all codes in hexadecimal). The new
indent character has code 0009.

So, you should start using Unicode character 0009 to indent right
away. Python 2.4 will deprecate all indentation not using the new
indent character, and Python 3.0 will not support any other
indentation.


Great april fools joke, but no such conversation has gone on in
Python-Dev in the last 3 months.

Better luck next time.

- Josiah
 
W

Wolfram Kraus

Heyho!

Carl said:
Here's a summary of the final decision Guido made concerning how
Python will indent code in the future, from python-dev:

Guido had been planning to deprecate tabs in favor of spaces for
awhile, although there have been good arguments for both tabs and
spaces. But he was never really comfortable pulling the rug out from
half the user base. However, today he finally decided on a compromise
that has all the benefits of both spaces and tabs.
[...]

So, you should start using Unicode character 0009 to indent right
away. Python 2.4 will deprecate all indentation not using the new
indent character, and Python 3.0 will not support any other
indentation.

Nah, this sucks! This will be the death of Python! I'm switching to
Whitespace: http://compsoc.dur.ac.uk/whitespace/

Stay Rude!
Wolfram
 
A

Alan Kennedy

[Carl Banks]
Here's a summary of the final decision Guido made concerning how
Python will indent code in the future, from python-dev:
>>
>> [Nice April Fool spoof :) elided]

[Josiah Carlson]
Great april fools joke, but no such conversation has gone on in
Python-Dev in the last 3 months.

Better luck next time.

Spoil-sport!

You could have at least given it a few *minutes* to get some traction!
 
P

Peter Hansen

Josiah said:
Carl Banks wrote:
[snip]
Great april fools joke, but no such conversation has gone on in
Python-Dev in the last 3 months.

Better luck next time.

- Josiah

Yeah, thanks Josiah. Well all know how bright you are already though,
and it's customary (though an unspoken custom, perhaps, until now) to
chuckle quietly at such things and wait a while before posting, just to
give an opportunity for the unwary ones to get sucked in for a while.

Anyway, you forgot to point out that the *real* conclusion from the
python-dev discussions was that Guido has finally decided that the
space vs. tab wars will _never_ be won, and chooses explicit over
implicit yet again. The indentation style for Python 3.0 (not 2.4)
will be leading periods, since they make the indentation more obvious
and thus avoid mistakes.

-Peter
 
M

Michael Hudson

Josiah Carlson said:
Great april fools joke, but no such conversation has gone on in
Python-Dev in the last 3 months.

You just didn't get those mails.

Cheers,
mwh

--
> It might get my attention if you'd spin around in your chair,
> spoke in tongues, and puked jets of green goblin goo.
I can arrange for this. ;-) -- Barry Warsaw & Fred Drake
 
A

Andrew Dalke

Josiah Carlson:
Great april fools joke, but no such conversation has gone on in
Python-Dev in the last 3 months.

You're right, there was a typo. It should have been python-internals.
That started last fall because there was too much noise and riff-raff
on python-dev.

Andrew
(e-mail address removed)
 
J

Josiah Carlson

Spoil-sport!
You could have at least given it a few *minutes* to get some traction!

It was right at the top for the last message I read last night. It was
unlucky. Sorry to the original poster for ruining the joke so early.

- Josiah
 
J

Josiah Carlson

Yeah, thanks Josiah. Well all know how bright you are already though,
and it's customary (though an unspoken custom, perhaps, until now) to
chuckle quietly at such things and wait a while before posting, just to
give an opportunity for the unwary ones to get sucked in for a while.

Yeah, I suppose I should try not to ruin the joke quite so soon next time.

Anyway, you forgot to point out that the *real* conclusion from the
python-dev discussions was that Guido has finally decided that the
space vs. tab wars will _never_ be won, and chooses explicit over
implicit yet again. The indentation style for Python 3.0 (not 2.4)
will be leading periods, since they make the indentation more obvious
and thus avoid mistakes.

Now that is funny.


If you want to see another good Python joke, I like this one:
Python for Commodore 64.
http://zephyrfalcon.org/weblog/arch_d7_2004_03_27.html#e536

Not terribly believable, but still good.

- Josiah
 
C

Carl Banks

Wolfram said:
Heyho!

Carl said:
Here's a summary of the final decision Guido made concerning how
Python will indent code in the future, from python-dev:

Guido had been planning to deprecate tabs in favor of spaces for
awhile, although there have been good arguments for both tabs and
spaces. But he was never really comfortable pulling the rug out from
half the user base. However, today he finally decided on a compromise
that has all the benefits of both spaces and tabs.
[...]

So, you should start using Unicode character 0009 to indent right
away. Python 2.4 will deprecate all indentation not using the new
indent character, and Python 3.0 will not support any other
indentation.

Nah, this sucks! This will be the death of Python! I'm switching to
Whitespace: http://compsoc.dur.ac.uk/whitespace/

You people are missing it. Look at what the new indent character is.
(It's always funnier when you have to explain it.)
 
A

Aahz

You people are missing it. Look at what the new indent character is.
(It's always funnier when you have to explain it.)

You didn't check Wolfram's URL, did you?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,181
Messages
2,570,969
Members
47,536
Latest member
VeldaYoung

Latest Threads

Top