What an IronPython user should know about Python 3

No conflicts between different platoons

By Cameron Laird  Add a new comment

The audience asked questions about "Python 3" when I talked last week about "IronPython and .NET" for the HDLUG. Here's an amplified version of what I said then:

Programming in Python 3 much like previous Pythons

Python 3 represents Guido's liberation. Guido van Rossum, Python's inventor and continuing lead, has been scrupulous about backward compatibility for twenty years. Finally, with Python 3 (also called "Python 3.0" or, in older and more playful documents, "Python 3000"), he is free to change parts of Python that he now regards as blemishes. For us application programmers--or at least for me--Python 3 feels little different from previous releases. Many of the most profound changes have to do with "internal" clean-up that'll make a better basis for future development of Python as a language. "Clean" has always been an important qualification in Python's history; there's far more emphasis on getting the right features, than more features.

While Python 3 does offer new functionality, it doesn't change the daily routine of working in Python. Beside that, there's been an extraordinary effort to port new features back to the 2.x series of releases, so that 2.6, 2.7 and 2.8 can boast nearly all of the important syntax of 3.0 and 3.1.

IronPython separate-but-nearly-equal

Van Rossum works in CPython. That is, while in principle he defines the abstract Python language, in practice everyone know that means something like, "the core C-coded implementation". IronPython is maintained separately, and has no necessary relationship with van Rossum's work in schedule or source code. The two development crews are certainly friendly, though, and generally are able to track changes rather closely.

To this point, IronPython has emphasized 2.x as a target. As Jimmy Schementi, a Program Manager with Microsoft, e-mailed me last week, "IronPython's roadmap over the next year includes compatibility with Python 3. Also, we're planning on a release ... before our first 3.2-compatible release which will target 2.7 compatibility."

What does all this mean for you? Should you use Python 3.x or 2.x in your next project? I asked several experts that question a half-year ago; their predictable answer was, "it depends". Briefly, if you rely on an extension to standard Python, you're probably stuck back in 2.x. Otherwise, though, there's no reason not to jump to the latest 3.1 or even 3.2.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

October is...
Mobile Device Management Month

DevelopmentWhite Papers & Webcasts

White Paper

Driving DevOps to the Next Level

At a time when budgets and resources are flat and development environments are exploding with complexity, DevOps teams are seeking ways to enhance overall system performance. See how an integrated version management solution can increase collaboration, transparency and speed for all.

White Paper

Solving the Five Pain Points of Agile Development

Research shows that developers are struggling in five key areas. Access the latest Agile SCM research, videos, and success stories to learn how to overcome the latest roadblocks to developer productivity and performance in the enterprise.

White Paper

Confronting the Barriers to Software Development Excellence

Ineffective software version management often leads to inefficient processes and frustrated users. See what it takes to provide a solid foundation for software development excellence in today's demanding economy.

White Paper

Discover the Power of Automating Your Budget

Financial planning can be an inefficient drain on an organization. Old technology makes budgeting, forecasting and reporting difficult and error prone in a market that already inflicts enough uncertainty in daily operations. However, SMBs have better options than spreadsheets, it's simply a matter of choosing a more streamlined, powerful purpose-built application instead of accepting the old one-size-fits-all standby. Download this white paper to learn about today's technology for success in today's market.

Webcast On Demand

Smarter Development and Testing for IBM® System z®

Date/Time: June 19, 2012 at 11:00 a.m. EDT Join us for this webcast and hear from IBM Distinguished Engineer Rosalind Radcliffe and David Myer, Rational Developer on z Product Manager, about using IBM® Rational® Developer for IBM® System z® unit test for implementing changes such as adopting an agile mainframe development practices, creating an isolated version-to-version test environment, and investigating a continuous integration process.

Sponsor: IBM

See more White Papers | Webcasts

Ask a question

Ask a Question