Paul Krill
Editor at Large

Van Rossum promises Python 3.6 will move to GitHub

news
Jun 1, 20163 mins

The new version of the language will have improved readability and cryptography and could do away with the multicore-impeding GIL

With the planned Python 3.6 release, the popular scripting language is due for improvements in readability and cryptography. Also on the agenda: Moving the project to GitHub to help contributors participate in the language’s development.

Code freeze for version 3.6 happens in September with the final release set for Christmastime, said Python founder Guido van Rossum at the PyCon 2016 conference in Portland this week. Version 3.6 currently is an alpha stage of development.

The upcoming release will include underscores in numbers, simply “because everyone else [has] got them,” he said. This capability is about improved readability of numbers with many digits.

In order to beef up cryptography, a secrets module will prompt developers to use the random-number generator provided by the operating platform in use rather than Python’s own generator, which is for specific applications such as simulation. The numbers are generated as random tokens for security purposes. “The secrets module is basically a wrapper around the system random number generator,” said van Rossum.

Other improvements in Python 3.6 include f-strings, to make it easier to produce properly formatted output based on local variables; local time disambiguation, for programs to better deal with time changes in the event of daylight savings time; and fspath, for converting file names back to strings for use in primitive operations.

In moving Python repositories from Mercurial to GitHub, van Rossum is acknowledging the inertia GitHub now has as a software projects repository. This means users no longer have to learn “obscure” tools like Mercurial to contribute to the project, he said. “Because everybody’s already there [on GitHub], it will make it easier for people to contribute to Python.” Van Rossum hopes to make this move by the end of this year.

Beyond version 3.6, Python developers are considering several possibilities, including removal of Python’s GIL (Global Interpreter Lock), which has been an impediment to multicore programming in the language. The GIL is supposed to make multithreading possible without having separate locks on all data structures, but this notion has been superseded by the arrival of multicore machines. Now, the GIL limits program execution across multiple threads, but if it’s removed, another locking mechanism would be needed to protect Python’s internal data structures.

Python might also gain a variable declaration syntax, possibly for global, class, and local variables, and the developers are considering a match statement capability, providing a pattern-matching syntax for objects. There has been no “decent” syntax devised yet, though the proposal has apparently generated several hundred emails on the Python ideas list, van Rossum said.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author