A big problem with Guido's considering type declarations for Python is that there are now at least three significant implementations of Python. Disregarding how you or I feel about this specific proposal, any big change in the language will put further distance between the implementations or impose a heavy fine on those implementations that are trying to keep pace.
Given the momentum in favor of Python over the last year, if I were the BDFL of Python, I would freeze the language at the 2.4 specification for a few years. This would allow the other implementations to catch up, and allow the CPython implementation to focus under the hood on implementation improvements.
I'd have to see real evidence of pain and suffering to want to extend the language significantly. Let other languages try new ideas, but Python should probably stay close to the current definition which has brought it to the threshold of something big.
Of course Guido's current thoughts just exist on his blog as far as I know. Real changes to the language based on these are a long way off. They could have an ill effect on the current momentum just the same. At the least they could suck energy away from more immediate concerns.
Comments are enabled for the concept of a moratorium. No type checking debates here please.
8 comments:
There are some very good reasons in favor of having a feature freeze in Python and directing the worker bees towards some of the lingering warts and weaknesses in existing modules, but the recent update from the dictator seems to sound like it is moving towards providing the sort of supporting tools and infrastructure that would be needed to make third-party modules a more vibrant and useful part of the Python ecosystem. Interfaces are something that two of the major "framework" systems in Python (Zope and Twisted) have both found missing and wandered off in search of their own solution.
If such a system existing and was codified into Python it would make it a lot easier for myself and others to actually rely upon bits of code crafted by other people; specifically feeling warm and fuzzy about you not going around and changing something deep in the guts of your modules that I am not going to find out about until five weeks after updating to the most recent release...
We have to remember that Guido is an artist. That is, he enjoys expressing his creative genius. And his medium has been the Python Language. I think it would be difficult for him to stop doing that. And it would almost be unfair for any one to ask that of him. After all, Python is Free Software, which means that any one of us can fork it and release our own version is we like. Guido has done a very good job so far. It is true that some of us can't keep up with the new features. But, for the most part, most of us are happy with the language as it stands right now. Why should we doubt Guido's ability to continue in that fine course. Well, the obvious reply to that is that he is human. However, I think his record so far, merits him, at least, the chance to err. If something doesn't turn out all that good, we, or even he, can simply discard that effort and start afresh.
I agree. Freeze! The simple question is: Why doesn't Python the langiage have static typing today. return to that simple question; that's the essence of Python. Rune.
The language semantics seem to be increasingly more complicated and ever-changing. While I do appreciate generators, much of the other stuff I would leave behind.
After years of admiring the simplicity of the language, I've decided to make a switch to java for my web developement efforts.
>After years of admiring the simplicity of
> the language, I've decided to make a switch
> to java for my web developement efforts.
That sounds trollish to me. Not that there are no valid reasons to switch to Java (employment, hmmm... (there's got to be another one), etc.). But, you make it sound as if you are switching to Java because of it being a better language. I think that it would take along time of trying hard for Python to become nearly as bad as Java is.
What's the big deal? I wrote in Python 1.5 style for long after 2.0 shipped. Backward support for the older flavors of the language have always been excellent.
If you don't like new features in the language, don't use them. Or don't use them yet.
" or do not use the new features..."
The problem is the python interpreter sourcecode, which will be more complex with all the new features in it.
It is not hard to imagine that the added complexity will stop NEW compiler-guru's look at the Python interpreter sourcecode.
"Why should we doubt Guido's ability to continue in that fine course."
Why should we not respond to his blog posts? Does he just want to give us his ideas and not hear ours? I doubt it.
Post a Comment