Not too many overwhelming changes are coming in Python 3000, the upcoming version of one of the best programming languages in the world. Here are the three that stick out most in my mind:
1. print() is now a function. It needs parenthesis, you can’t just “print ‘Hello, World!’” It has to be print(“Hello, World!”). This is a regularity improvement to the language. There are three named parameters in the new print() function: end, file, and sep. They determine what the ending string will be (os.linesep), what file the function will write to (sys.stdin), and what a comma separating parts of the printed message will implicitly insert before each expression (” “). This is my favorite new feature, because it’s just way cool, and a huge improvement over what we have to put up with now.
2. Unicode all the way. No more string incompatibilities caused by foreign character sets. This is what I would classify as a reliability improvement.
3. TypeErrors get thrown if you try to sort lists that contain heterogeneous variables.
In general, I see quite a few welcome improvements to the language’s reliability, and relatively minor syntactic clean-ups. I find this disappointing, because if even the developers of Python can’t think of any more good syntactic ideas, then perhaps the advancement of language is grinding to a halt.
What will our generation’s object-oriented revolution be like? Will we even have one?
Hi Travis,
Python 2K is a multi-paradigm language with cruft. Py3K will be a multi-paradigm language with a lot less cruft. Made available in a reasonable timeframe. I think its useful to ‘clean the house ‘, it makes it easier to add to the language later.
- Paddy.