In 2015, the PHP project released version 7.0 of the PHP language. This was the culmination of years of discussion about the scope of the version, and what we were willing to break. An advantage we had in PHP was that Python had gone through a similar process with Python 3 seven years earlier. I'll discuss the lessons we took from the Python 2-3 transition, and how we used them.
In 2015, the PHP project released version 7.0 of the PHP language. Doing so was the culmination of several years of discussion and hard work to resolve what a new major version would look like, what would be included, and most importantly, what would be broken for existing users.
In the end, PHP 7 was released with almost no backward compatibility breaks for well written, modern PHP 5 code. As a result, uptake of PHP 7 after two and a half years has been — depending on which source you use and how you measure it — between 33% and 67%.
The PHP project had a significant advantage, though: other languages had been through the same thing before. In particular, an example that was repeatedly used and examined was the transition that was still taking place from Python 2 to 3.
In this talk, I'll discuss the insights that were gleaned from observing that process (mostly) from the outside looking in, and how that was reflected in the uptake curve of Python 3.
Adam is a software developer who has worked on a number of interesting and occasionally even useful things in his near two decade career. These include prototyping the worst mesh network of all times (based on Android phones), discovering how to reliably lock up a Windows computer by writing an in-browser video editor, and (most usefully) removing the original
mysql_* API from PHP.
Today he works at New Relic on their PHP, Go, and C language support. In his spare time, he contributes to a variety of open source projects, a secret robot project that may have some Asimov-related issues, a variety of half finished web sites, and is attempting to drink ever beer Vancouver produces.