[Python-ideas] Making colons optional?
yaogzhan at gmail.com
Thu Feb 5 20:38:49 CET 2009
On 5-Feb-09, at 3:36 PM, Andre Roberge wrote:
>> Yes I agree with you that many people like colons. What bothers me
>> is that
>> some people dislike them, but not given the choice to avoid them.
>> We don't
>> like semicolons in Python, but what would stop a hard-core C users
>> to end
>> every statement with a semicolon? They have the choice.
> I have seen *very* few code samples where semi-colon were used - and
> most were by people just learning Python (and familiar with some other
> language). If it were up to me, semi-colon would not be allowed -
> again, for consistency.
Semicolons are bad but are because you'll need them sometimes for one-
liners. You can use colons too if you wish. Now the inconsistency is
that semicolons are optional but colons are required. I did not
propose to eliminate colons all together; just make them optional so
we have the choice.
>> And I would also argue that many of those like colons not because
>> really feel colons improve readability, but that they have get used
>> colons in the first place. You like colons, I don't. How do you
>> know another
>> Python user will like them or not? By making trailing colons
>> OPTIONAL, we
>> can probably have the chance to field test. If people really think
>> improve readability that much, they can still use them, just like
>> we feel
>> semicolons are line noise and void them if possible, even though we
>> CAN use
>> them. I don't think we will ever lose anything to make colons
> The emphasis for Python is improved readability (*perhaps* at the
> expense of a small extra burden when writing, i.e. when adding
> colons). I do find code more readable with colons (and have from day
> 1 when I started learning Python). Apparently you don't. But, if you
> are given the choice and write code without colons and I read it, I
> know that it will be less readable for me. So I do disagree with the
> opinion that we would would not ever lose anything by making colons
> optional. Either they stay or they are removed - don't allow both.
I agree readability counts. That's why I love Python. And that's also
why I don't like colons--they are line noise. Semicolons improve
readability; they tell you exactly where lines end (esp. in case of
line continuation), in the same way colons tell you where suites end.
What do you feel if you see a piece of Python code full of semicolons
at the end of every statement? That will probably be the same feeling
I have when facing colons at the end of every suite.
And unfortunately, we allow both for semicolons.
More information about the Python-ideas