On Wed, Dec 26, 2012 at 4:21 PM, Ned Batchelder <ned@nedbatchelder.com> wrote:
On 12/25/2012 7:10 PM, anatoly techtonik wrote:
I am thinking about [python-wart] on SO. There is no currently a list of Python warts, and building a better language is impossible without a clear visibility of warts in current implementations.

Why Roundup doesn't work ATM.
- warts are lost among other "won't fix" and "works for me" issues
- no way to edit description to make it more clear
- no voting/stars to percieve how important is this issue
- no comment/noise filtering
and the most valuable
- there is no query to list warts sorted by popularity to explore other time-consuming areas of Python you are not aware of, but which can popup one day

SO at least allows:
+ voting
+ community wiki edits
+ useful comment upvoting
+ sorted lists
+ user editable tags (adding new warts is easy)


1) Stack Overflow probably won't accept this as a question.
 
That's why it is proposed as a community wiki.

2) a bunch of people answering "what is a wart" is not a way to get the Python community to agree on what needs to be changed in the language.  People with ideas need to write them up thoughtfully with proposals for improvements, and then engage meaningfully in the discussion that follows.

You seem to think that people just need to identify "warts" and then we can start changing the language to remove them.  What you consider a "wart" is probably the result of a complex balance of competing forces.  Changing Python is hard.  We take backward compatibility very seriously, and that sometimes makes it hard to "remove warts."

You've nailed it. The goal of listing warts on SO is not to prove that some language suxx [1], but to provide answers to question about *why* some particular wart exists. "wart" may not be the best word, because from the other side of rebalancing things there is most likely some "feature", but when people experience problems, they usually face only one side of the story [2]

As I already said it is impossible to fully master the language without a complete coverage of such things. These things are equally interesting for users and for future contributors. There are the starting points in making the next better generation dynamic language (if the one is possible).

SO is a FAQ site, not a web-page or a wiki, so I expect there to be answers with research on the history of design decisions behind the balancing of the language, the sources of "warts" and things that are balancing them on the other side. I expect there to find analysis what features will have to be removed in order for some specific "wart" to be gone, and I see it as a perfect entrypoint for learning high-level things about programming languages.

Some people may get a feeling that a SO list like that will make a huge negative impact on Python development. I don't know how to respond to these concerns. =) In my life I haven't seen a person who abandoned Python completely after picking it up. That should mean something. From my side I'd like to thank to all core developers and say that you are doing the right thing. Unicode and Python 3 was hard, but even grumpy trolls like me start to like it. The next year will be the next exciting step in Python development. My IMHO is that it became mature enough to openly discuss its "bad child habits" in details and make fun of them accepting they as they are.

Take it easy, and have a good year ahead! ;)

1. http://wiki.theory.org/YourLanguageSucks
2. http://adsoftheworld.com/media/ambient/bbc_world_soldier