ifacethoughts

Python 3K Discussions

Since the Python 3K alpha 1 release there have been some discussions about what the new Python should look like. The discussions have been interesting, and mostly hovering around concurrency support in the new version.

Juergen Brendel wrote an open letter to Guido van Rossum, the author of Python, about removing the Global Interpreter Lock (GIL) from Python. GIL is a single lock that a thread has to hold to access Python objects. This effectively stops multiple threads from running in parallel. While this was acceptable earlier, the advent of multiple cores has raised the stake in concurrency. Juergen proposes removal of GIL to enable truly parallel threads. Guido provides convincing reasons why it is not easy to remove GIL. Previous attempts have led to slowing down the processing by a factor of two.

Bruce Eckel too touched on the topic, expecting more from the new version.

Though I agree that it might be tough to support concurrency, it is something that we cannot ignore as programmers, whichever language we are using. Of course, there is no need to panic, but we have to evolve along with the hardware changes to not get obsolete. It is quite possible that concurrency is not critical today for Python programmers, but it is poised to solve a lot of problems in software development. This is the biggest reason I find Erlang interesting.

Bruce Eckel thinks Parallel Python might be a good candidate to support concurrency through a library. There are others as well. I also agree with Bruce’s demand for support for DSL creation. While it might not enhance the core language itself, it can help developers provide better solutions with it.

Guido has rightly replied to all the discussions by stressing importance of separating the core language from the library support. This is one of the most important things for language design, and this is what keeps the language clean and focused. I also liked his suggestion of using the concurrency solutions in one of the web frameworks.

These are good discussions, and will help Python programmers like me to understand the future direction. I personally feel that, along with the language, the Python environment has to stay in sync with rest of the development. Thought not critical today, I see support for concurrency and DSL creation as significant developments.

Discussion [Participate or Link]

  1. » Erlang: Things that make you go Hmmm… - DevChix - Blog Archive said:

    […] http://ifacethoughts.net/2007/09/12/python-3k-discussions/#primary […]

  2. Python 3.0 Is Out | iface thoughts said:

    […] important property to protect for software developers. And that the community has been having hot debates about its future […]

  3. Unladen Swallow - A Faster Python | iface thoughts said:

    […] GIL has been a hot topic for discussions in the Python community. It will be interesting to see how such aspects get weaved […]

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
My bookmarks

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.