Python 2 to Python 3 / Python 3000 / Py3k
There's a new release of Python on the horizon. Well - it's rather closer than the horizon, as there are beta test releases around, and a final production release is due within the month. It has been known as Python 3000 and Py3k along the way - but the release is numbered 3.0 and it's really known as "Python 3.0"
Will everyone switch straight away to Python 3? No - I'm sure they won't; it is planned that there will be parallel releases for a while (as there were with PHP as it went from release 4 to release 5) as there are changes which will break source code compatibility.
This compatibility issue is always a tough one for the language designers - whether to restrict and encumber development through the life of the language due to early decisions which may have been good at the time
but are now outdated, or to bite the bullet and make the changes. And the Python 3 team have taken the latter approach.
I'm running a public Python course
over the next few days, and I and my delegates will be using the latest production versions - Python 2.5.x as I write - throughout. However, I'll be training with one eye on Python 3 to ensure I can advise against "dead end programming" and I'll give a keynote / philosophy talk to ensure that all my delegates know where the language is going and can make the very best of the current syntax, and the changes too. And that will be backed up by a demonstration of some of the code we have seen and written during the course on a machine that also has 3.0 installed.
The main philosophies of Python 3 remain the same main philosophies of Python, and that includes providing facilities once (not in a plethora of ways) and preferably in an obvious / well established / old way - so in practise it's not going to be a huge leap to move to Python 3. However, there are
tools being provided to help you if you'll be moving code - such as 2to3
which does an automated translation ("good but not perfect") and some new facilities being backported into Python 2.6 which will provide a useful stepping stone. (written 2008-09-07, updated 2008-09-11)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesY300 - Python 3 - What is new, what's changed and why 
Moving from Python 2.6 to Python 3 - (2010-07-14) 
Learning to program in Python 2 ... and / or in Python 3 - (2010-05-24) 
Moving the product forward - ours, and MySQL, Perl, PHP and Python too - (2010-01-01) 
Great new diagrams for our notes ... Python releases - (2009-07-13) 
Python classes / courses - what version do we train on? - (2009-07-10) 
The road ahead - Python 3 - (2008-09-10) 
Python 3000 - the next generation - (2006-06-09)
Some other Articles
All the pieces fall into place - hotel and coursesSharing variables with functions, but keeping them local too - PythonLooking for a value in a list - PythonPython 2 to Python 3 / Python 3000 / Py3kHowto - write and manage a news box on your web pagePicturing the rainWhat is running on your network? (tcl and expect)Global - Tcl, PHP, PythonThink before you send
4395 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).