avatarSabrina Carpenter šŸ

Summary

Python 4.0 will not be released, as confirmed by Python's creator, Guido van Rossum, due to backward-compatibility issues with existing Python 2 and 3 versions.

Abstract

Python 4.0 was expected to be released, but Guido van Rossum, the creator of Python, has confirmed that it will not arrive due to significant backward-compatibility issues with existing Python 2 and 3 versions. The article discusses the history of Python, the reasons behind the decision not to release Python 4.0, and the implications for Python developers. Despite the lack of a new major release, Python remains the most popular programming language, according to the Tiobe Index.

Opinions

  • Guido van Rossum, the creator of Python, does not care about a new Python release and does not want to call it Python 4.0.
  • Van Rossum believes that using big numbers for release designations is a misuse of language and history.
  • There are too many backward-compatibility issues that would need to be overcome to successfully build off of today's existing Python 2 and 3 versions.
  • Python 2 and 3 already handle changes well enough that keeping with them is better than starting from scratch with a different approach.
  • No one knows what problem Python 4 would solve.
  • Before either developers or users can start using Python 3 for anything other than experimentation, libraries that are compatible with both versions 2 and 3 must be developed.
  • If these issues are not addressed before Python 3 becomes mainstream, Python's community could divide into two groups: one that continues to use Python 2 and another that does everything possible with Python 3.

STOP Asking for Python 4.0😔

It will NEVER ARRIVEā€¦šŸ¤”

Python 4.0 was supposed to arrive some time ago, but it didn’t happen and now Guido van Rossum says that Python 4.0 will never arrive... Here’s why you should be happy about that, what the reasons are and how Python 3 will change your life as an IT-professional. Let’s start with some background information first…

History of Python Programming Language

Guido van Rossum (the creator of Python) does not care about a new Python release, dubbed Python 4.0 (as such versions are traditionally named). In fact, he doesn’t even want to call it that, as it would be a total misuse of language and history, but instead says Python 3000 or Py3k is more appropriate. So in a sense, things are looking bleak for any sort of Python 4 at all; either way you slice it: The name has been tainted by Van Rossum’s opinion on using anything in relation to big numbers for release designations (4 is not an improvement over 3), or else there won’t be any major improvements so why not just give up now?

Who is Guido van Rossum?

Guido van Rossum is a Dutch programmer and software architect who created Python in 1989. He continues to oversee development of Python while working for Google as an engineer on Google’s search quality team. If you’re writing a programming language, and you don’t know how to program, I think that’s probably foolish, Van Rossum said during his Ask Me Anything session on Reddit (read more about that here).

You can’t write a programming language without knowing how to program. So if he’s not going to be writing another Python release anytime soon, who is?

Why Python Version 4.0 Will Never Arrive

We’ve been waiting on a Python Version 4.0 for years — but it looks like we’ll have to wait a little longer still. Guido van Rossum, creator of Python, recently announced that there will be no version four for his language (yet🄺).

According to him, there are just too many backward-compatibility issues that would need to be overcome in order to successfully build off of today’s existing Python 2 and 3 versions…

And that those two versions already handle changes well enough that keeping with them is better than starting from scratch with a different approach: There has been talk about Python4 for almost as long as I can remember, but let me make it clear: there will never be a Python 4.

Python 2 is Python forever. Python 3 broke compatibility to allow cleanups, optimizations, and new features; Python 4 would break compatibility for… what exactly? No one knows. It’s not even clear what problem Python 4 would solve.

What if Python 5 were backwards incompatible?

The main argument seems to be:

But if we don’t break compatibility now, then when can we ever break it?!?!?

Python 3.0 incompatibility issues

The problem is, Python 3 isn’t backward-compatible with previous versions of Python; in fact, it breaks compatibility a lot more than any other major Python release.

As we start to port Django to Python 3, we’ll encounter incompatibilities with our existing code base and libraries that must be solved before we can move on — and if you’re doing so in a new project from scratch, you have an additional set of problems that need solving first.

Basically, before either you or I can start using Py3k for anything other than experimentation, we’ll need libraries that are compatible with both versions 2 and 3 (i.e., written in pure Python), so support for them won’t get left behind when everyone else moves forward. Despite this, according to Tiobe Index, Python remains the most popular language to date.

https://www.tiobe.com/tiobe-index/

If these issues are not addressed before Python 3 becomes mainstream, Python’s community could divide into two groups: one where people continue to use Python 2 because they don’t want to deal with updating their applications; and another group that does everything possible with Python 3 because it’s supposedly better.

This division would effectively end development of many projects by splitting off developers who find Python 3 incompatible with their goals.

This is what we Python developers expect?!?!?

An attempt to write a Python program that does not have bugs would be a futile effort and, in case it succeeded, would probably be of no value to anyone.

Fred Brooks said it well:

The only way to write programs that don’t have bugs is to fix them as soon as they are written.

We expect our code should work flawlessly with all combinations of inputs provided by users, but we also expect it should do so within reasonable time and resource constraints, within predictable performance boundaries, in hard-to-predict real-world situations (sometimes at 3:00 AM on a holiday), when there is an unstable network connection or some other unusual event takes place.

We do not know how long it will take our code to run; we just want timely results without any fuss.

I would like to ask EVERYONE to comment on your point of view, I would love to have a positive debate in the comments. Here are some questions for you, my dear reader:

  • What was your reaction to discovering that Python 4.0 will never arrive?
  • Do you think Guido, the creator of Python, is right? Why is he right or not?
  • What do you like most about Python?
  • And what do you like the least?
Python
Python Programming
Python3
Django
Programming
Recommended from ReadMedium
avatarAbhay Kumar
OOPs in Python

An easy guide

10 min read