
An interesting list of what it takes to add a new feature from Eric Lippert, one of the C# team: http://blogs.msdn.com/ericlippert/archive/2009/10/05/why-no-extension-proper... As I'm fond of pointing out, the answer to every question of the form "why doesn't product X have feature Y?" is the same. It's because in order for a product to have a feature, that feature must be: - thought of in the first place - desired - designed - specified - implemented - tested - documented - shipped to customers You've got to hit every single one of those things, otherwise, no feature. Other than perhaps the last entry in the list all of them apply to new features in Python. This is without covering the burden that adding new syntax or features adds to those learning the language or reading code. All the best, Michael -- http://www.ironpythoninaction.com/

Michael Foord wrote:
We have the last one as well - features don't hit really widespread use until the first Python version they are in has been baked into a few Linux distros (and these days, probably a Mac OS X release as well). I don't believe there is any particularly strong cause and effect there, just a matter of comparable time frames until developers feel they aren't restricting their deployment options too much by using the new features instead of remaining compatible with the previous version. It does mean that flawed designs (e.g. contextlib.nested) can take a while to be picked up because people initially aren't using them heavily enough to notice the limitations. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia ---------------------------------------------------------------

Michael Foord wrote:
We have the last one as well - features don't hit really widespread use until the first Python version they are in has been baked into a few Linux distros (and these days, probably a Mac OS X release as well). I don't believe there is any particularly strong cause and effect there, just a matter of comparable time frames until developers feel they aren't restricting their deployment options too much by using the new features instead of remaining compatible with the previous version. It does mean that flawed designs (e.g. contextlib.nested) can take a while to be picked up because people initially aren't using them heavily enough to notice the limitations. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia ---------------------------------------------------------------
participants (2)
-
Michael Foord
-
Nick Coghlan