Python 3.0 upgrade incompatible with earlier versions

The Python Software Foundation is working concurrently on two upgrades to the core language and anticipates most people will stick with the Python 2 line for years

Python 3.0, a new version of the language released earlier this week, has incompatibilities with the 2.x line, according to the Python Software Foundation.

While saying the language is mostly the same, the foundation said details such as how built-in objects like dictionaries and strings work "have changed considerably and a lot of deprecated features have finally been removed." The standard library also has been reorganized to make it more accessible and discoverable.

Python vs. PHP: Choosing your next project's language

In a blog posting on Thursday, Guido van Rossum, lead developer of Python, called the 3.0 release "the first ever intentionally backwards incompatible Python release."

"There are more changes than in a typical release, and more that are important for all Python users. Nevertheless, after digesting the changes, you'll find that Python really hasn't changed all that much -- by and large, we're mostly fixing well-known annoyances and warts, and removing a lot of old cruft," van Rossum said.

Interviewed Friday morning, foundation representative David Goodger said "We fixed problems so we can go forward and add features more easily in the future without having to work around previous bad decisions."

A transitional release toward the 3.0 platform, Python 2.6, was released in October and updated with bug fixes in Python 2.6.1 this week. A Python 2.7 release also is planned, and the foundation anticipates most people will stick with the Python 2 line for years, Goodger said.

First released in 1991, Python is a general purpose language that has been popular in Web development. Among the new features in Python 3.0 are simplified rules for ordering comparisons, replacement of the print statement with a print function, and use of views and iterators instead of lists. Syntactic changes also have been made.

Python 3.0 uses concepts of text and binary data instead of Unicode strings and 8-bit strings. Text is Unicode but encoded Unicode is represented as binary data.

"As a consequence of this change in philosophy, pretty much all code that uses Unicode, encodings, or binary data most likely has to change," according to the foundation. But the change is for the better, the foundation said. With Python 3.0, the default way to handle text is to use Unicode throughout, Goodger said.

Featured with Python 2.6 is a tool called 2to3, to translate Python 2.6 code to Python 3.0. That tool will be improved along with the Python 2 line, Goodger said.

Python 3.0 is downloadable here.

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection

Tags python

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Paul Krill

InfoWorld
Show Comments

Cool Tech

Breitling Superocean Heritage Chronographe 44

Learn more >

SanDisk MicroSDXC™ for Nintendo® Switch™

Learn more >

Toys for Boys

Family Friendly

Panasonic 4K UHD Blu-Ray Player and Full HD Recorder with Netflix - UBT1GL-K

Learn more >

Stocking Stuffer

Razer DeathAdder Expert Ergonomic Gaming Mouse

Learn more >

Christmas Gift Guide

Click for more ›

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Walid Mikhael

Brother QL-820NWB Professional Label Printer

It’s easy to set up, it’s compact and quiet when printing and to top if off, the print quality is excellent. This is hands down the best printer I’ve used for printing labels.

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?