Why I'm Making Python 2.8
Just a couple of things I want to point out here.<p>1. Calling it Python 2.8 is a really bad idea. If you want to fork Python in this way, great. I&#x27;m sure very few people in the community would have a problem with it if you called it Brothon or P8thon or Hackthon (could run into trouble with that one, but who knows?) or IHate3.xThon. You can call it LifeOfBrython or Snake, depending on how much you care about where the name came from.<p>Guido van Rossum is one of the least litigious people you can find in the open source community. When he wanted people to stop naming packages after PEPs (pep8, pep257), he didn&#x27;t try to go to court and figure it out later. He talked to the maintainers of the packages and explained why he thought it was problematic [0]. I wouldn&#x27;t expect a cease and desist showing up anytime soon, but it&#x27;s in poor taste, and I hope you reconsider it. Python is not yours just because you are free to use it and do as you please with it. It&#x27;s really stretching the concept of open source for you to unilaterally declare a collection of hacks to be a point release that&#x27;s been specifically addressed and decided against by the community as a whole.<p>2. I have so much sympathy for people who must maintain Python 2.x applications and cannot make the business case for putting the time into porting it to Python 3. I&#x27;m in that situation myself right now, and I have been for years. I can&#x27;t find a compelling argument to warrant the time so long as the 2.7.x branch is getting security updates. When the security updates stop, the move will finish.<p>The reality is that those of us who have been working with Python for a long time now (10+ years) have already figured out reliable workflows to get around the most lacking aspects of the language in our domains of expertise. Or we have swapped out subsystems in other languages for cases where we absolutely cannot find workarounds.<p>I get it. I&#x27;m in that boat. I understand that boat because I live in it.<p>I can even understand why this project happened. Because hacking things you love to make them better for you as an individual is the heart and soul of what makes software development so great.<p>What I absolutely cannot understand is why anyone (absent certain libraries needed) would start a new project on a deprecated branch of a language. And I don&#x27;t understand why this is such a contentious issue specifically with Python. I don&#x27;t hear any of my friends who work with C# or Go getting into arguments about how the latest version has failed or shouldn&#x27;t have been rolled out. As much as Swift 3 has caused problems, I don&#x27;t hear any of my iOS developer friends complaining about how that shouldn&#x27;t have happened and trying to backport the good stuff into the 2.x branch. I genuinely don&#x27;t understand this behavior in the Python community.<p><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>*<p>I do, however, suspect that it has something to do with the overall age of the community.<p>Using Python has always been a matter of taste and style. I get that. Python is a language that makes explicit tradeoffs between performance and style. It is no shock to me that people who learned to love the language in its older form want it to stay that way. And I say this as someone who is closer to 40 than I am 30: we older folks in the industry need to fight against the stereotype that we can&#x27;t or won&#x27;t learn new tricks. Yes, there&#x27;s a place for battle scars and pushing back against every new flavor-of-the-month stack that rehashes old problems in new ways. But obstinately sticking with stuff simply because it&#x27;s what we know does all of us who are getting on in years a huge disservice.<p>Getting a good gig as a software engineer in your 20s is not that difficult. Getting the same gig when you&#x27;re pushing 40 and the hiring managers are still in their 20s is a lot harder. If you&#x27;re making decisions to start new projects on old versions of <i>any</i> language, please, please, please, do all of us a favor: make sure that you are doing it for solid reasons and not simply because it&#x27;s what you already know and are already comfortable with.<p><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>*<p>Because this post isn&#x27;t long enough already, I have a second pet theory about the reluctant adopters.<p>Python 3 is a _great_ language. It&#x27;s not the same as Python 2. It makes different tradeoffs about styles and choices of expression from what Python 2 does because these things can and should change over time.<p>I think that the expressive power of Python, the closeness to human language, and the ease of reading well-formed code have a lot to do with the resistance to Python 3. There are people (I&#x27;m one of them) who get really really picky about language in general. I think the Oxford comma is a necessity in almost every case. And I think people who casually omit it are stupid, shallow, non-thinking, drones who don&#x27;t care about the history of language and don&#x27;t care about precise meaning of words, and therefore don&#x27;t care about me because they an&#x27;t be arsed to toss a comma in a place that greatly clarifies meaning.<p>I don&#x27;t actually think all of that, but I&#x27;m closer to that than I am to not caring at all.<p>And there are many like me. When you&#x27;re dealing with a programming language with intent at its heart, people are going to take that in different ways. When you&#x27;re dealing with a language that cares about whitespace and eschews braces and wants to limit brackets and just expose the pure logic of the program, people really are going to get fired up about print vs. print().<p>That&#x27;s expected. And beautiful that so many people care that much. But as much as I lean towards prescriptivism and that rules are good for a language, even I have to admit that language evolves. But it usually evolves to be more inclusive and more expressive, not less. The really bad fights about languages in general revolve around what to include, not what to exclude. Because languages are exclusive by default.<p>A counterpoint to my idea above that we are all just old and lazy, is this: that we really do genuinely care, and that we care for good reasons. But something has to give. We cannot refute the evolutionary pressure. Python 3 is as necessary for modern speakers of programs as a recent edition of a dictionary is in your preferred language.<p>Yes, you can get by with something older, and you can even make yourself understood by most people who speak the language.<p>But you are limiting your ability to express your intent when you make an intentional choice to refuse to adopt what the rest of the culture around you is doing.<p>Aaaaaaand I&#x27;m done. Sorry for how long that was. I didn&#x27;t intend that. It just sort of happened. If you read all the way to the end, let me know, and I&#x27;ll upvote you.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;PyCQA&#x2F;pycodestyle&#x2F;issues&#x2F;466" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;PyCQA&#x2F;pycodestyle&#x2F;issues&#x2F;466</a>