3 ms·
Every point raised by this post was discussed and rehashed multiple times, debated, argued over, complete with emotions. The end result was something that feels
by eliben 13y ago
Every point raised by this post was discussed and rehashed multiple times, debated, argued over, complete with emotions. The end result was something that feels right to the vast majority of the discussion participants (give or take a few minor details.) Anyone has the right to criticize, and anyone also has the right to participate in the design and decisions - this is open source. Sadly way more people choose to take advantage of the former freedom than of the the latter. But that's old news, just the way things are.
Every language/framework/system has features some people won't like. Python has many too. But Python did a great job at striking a careful balance between expressibility and syntax, and most programmers who have to deal with it love it. Enum's design was guided by the same principles. Given that we didn't want to add new syntax to the language just for this feature (Python's minimal syntax is one of its greatest strengths), we had a few challenges to face. We tried to follow Python's overall guide of explicitness, while allowing numerous features.
The end goal? To replace the plethora of hand-cooked enums almost every large Python project has (including examples within Python itself).
Finally, remember that many issues here are issues of style and personal preference. It's not far from a brace style war really.