Objective
When I joined the Python-dev mailing list in June 2002, the team of "Python 3000" (The lake-sniffing: Python 3) describes a Python development team's recommendations that they want to implement every few months, but there's no way to do it for compatibility reasons. For us "Python 3000 may be" doing something means that nothing has changed.
But then we started to say more and more about what might happen in Python 3000. Eventually "Python 3000" because the inertia of internal programmers is often cited as the abbreviation "py3k". Then we began to believe that py3k would be better as we advertised. It got to the point where Andrew kuchling created Pep 3100 (which is the original PEP, which I eventually took Respo Nsibility for) to keep track of the various ideas we had for py3k in late 2004 as it is obvious around that time that we Were actually going to go through with the ' crazy ' idea of making Python happen. This any led to serious development starting in March 2006 and culminating in the release of Python 3.0 on December 3, 200 8.
While all is happening, there were mixed feelings from the community about the feasibility/sanity of creating Python 3. When PEP 3100 is created in 2004, Python ' s popularity took a very noticeable uptick. This trend continued and around 2006, when py3k development started in earnest, Python's popularity exceeded that of Perl. So while Python is becoming one of the most popular dynamic programming languages in the world, the development team was Beginning to create the next major version which would break compatibility with the version of the language so all of T Hese people were now learning. Some people called us a little nuts for obvious reasons.
But we would like to think we knew we were doing. While python 2 are a great language, Guido and everyone on the development team knew it had it flaws (if it didn ' t th En we would not has been able to create a PEP with nearly + things we wanted to the change). Guido also realized that's more Python code would is written in the future then had been written The future is would continue to be true. As a service to our community (and partly because it is fun) we decided we should try to fix some of our previous mistake s So, the future Python code could is written better and faster than is possible with python 2, hence why we created Python 3.
But while some considered us a little nuts to break compatibility with python 2, we also realized that we didn ' t w Ant to leave we existing community behind and develop python 3 only for new code. The development team knew as we created python 3 that it is a superior language and so we wanted to share it with EV Eryone by making sure they could bring their python 2 code with them to their python 3 work. From the beginning we made sure that the changes we made could either is warned against in the worst case, and automated I n the best. Techniques we learned and tools we developed were used to port Python's extensive standard library so-learn from our Own mistakes and make sure the other people could port their own code. We always kept in the back of our heads the goal of making porting python 2 code as easy as possible.
The continual increase in the number of PYTHON 3 projects available and the fact, all of the major Linux Distr Ibutions ship with Python 3, or would do-in their next major release, are a testament that we didn ' t screw up. Guido always said it would take 3 to 5 years for Python 3 to gain traction within the community. The constant trend of PYTHON 3 projects being released is a testament so the timeline Guido set out are turning out To is true as major libraries has already been ported, allowing their dependents to make the switch themselves.
While some might question the utility on moving python 2 code to PYTHON 3, there is both things to keep in mind. One is this python 3 is simply a nicer language than python 2. While there is only a handful of major changes, it's all of the little changes so add up to make the experience of prog Ramming python 3 that much more pleasant than python 2. It's rather common to hear core developers say what they prefer coding in python 3 over Python 2. I for one has simply stopped coding in python 2 as it just feels slightly off compared to the more uniform feel of P Ython 3. and secondly, more code'll is written in python 3 than in python 2 over the history of the Python language, so Not porting means your project would eventually be the left behind (this is the already starting to happen for projects which has Publicly said they won't switch, leading people to find alternatives for both their python 2 and Python 3 Co DE, toMake sure they can switch to python 3-ready). Sitting idly by as the world changes around are not a good thing to do if you want to stay relevant.
I still remember the day so Python 3 was released. It was the end of the workday and I was on IRC in #python-dev waiting for Barry Warsaw, the Python 3.0 release manager, to Flip the switch on the release. When it is hit, I just swivelled around in my chair and told Guido that it is done; Python 3 is no longer a dream but a actual thing. I stood up, we gave each of the other a ecstatic high-five, and just smiled (the next day people asked us at work what we were s O Giddy about that night).
At that moment, and to this day, the thought. Python 3 would flop or not being worth the amount of time and effort my Fel Low core developers and I put to it never crossed my mind. And the fact that's people care enough about seeing Python 3 work that there was now a book dedicated to helping people get f Rom python 2 to Python 3 are a testament that Python 3 have not, and would not, flop.
Supporting Python 3 (Support Python3)--preface