Py3K idea: why not drop the colon?

Michael Hobbs mike at hobbshouse.org
Mon Nov 13 13:51:47 EST 2006


Ron Adam wrote:
> LOL,  of course it would.  I would expect that too after a suitable amount of 
> 'brain washing', oops, I mean training and conditioning. ;-)
>   
Trust me, my brain is quite filthy and doesn't wash easily. I do 
appreciate aesthetics, which is why still stay with Python, even after 
programming in Ruby for several months. I've used Java/C/C++ for years, 
yet I make no complaint about the lack of static typing in Python. Even 
so, I'd like to think that I know a good thing when I see it.
> The point is what is more natural to "read" with a minimum amount of 
> explanation. I would think for most people who are learning programming for the 
> first time, it is things that resemble things they already know.  Such as 
> outlining with colons.
>
> Leaving the colon out probably would feel more natural for writing once you get 
> used to it.  After all it is a bit less typing.   But I don't think it would be 
> the most readable choice for most people.  It's probably a trade off, 
> readability vs writability.  Another python development guideline is to favor 
> readability over writability on the presumption we tend to write code once, but 
> read code many times.
>   
Not to repeat myself from an earlier post, but any pretense that 
Python's primary objective is readability went out the window with the 
invention of such constructs as "__del__", "__repr__", and 
"super(MyClass, self).__init__()". There are obviously other goals to 
the language's development that inspired these constructs and override 
the priority of readability.

> Here's an alternative test.  Write a program to remove all the end of line 
> colons from pythons library and then write another separate program to put them 
> back in.  Will it miss any?  will it pass the python test suite?
>   
I just may take you up on that. ;-) Not for a few days, though. Not 
enough time right now.

- Mike




More information about the Python-list mailing list