• deur@feddit.nl
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      11 months ago

      Any dev who pretends Python 2 doesn’t exist should probably look around a bit more. Damn legacy code.

      • jeremyparker@programming.dev
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        11 months ago

        Seconding this. For someone that doesn’t know anything about Python, there are vital aspects of Python 2 that need to be covered.

        In the context of learning a language, most of the time, a lower version number doesn’t mean that much. In the case of Python 2, there are fundamental incompatibilities - and, as you say, it’s still out there, and when your see it, you need to know what that means.

        Maybe you don’t choose a library or a piece of software if you notice it. Maybe you get a legacy code base dumped on your lap. This shit happens.

    • ericjmorey@programming.devOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      11 months ago

      Thank you for your words of caution. I’ve copied below what the author has to say about Python 2 vs Python 3:

      Picking a Python Interpreter (3 vs 2) — The Hitchhiker’s Guide to Python

      .

      The State of Python (3 & 2)

      When choosing a Python interpreter, one looming question is always present: “Should I choose Python 2 or Python 3”? The answer is a bit more subtle than one might think.

      The basic gist of the state of things is as follows:

      1 - Most production applications today use Python 3.
      2 - Python 3 is ready for the production deployment of applications today.
      3 - Python 2 reached the end of its life on January 1, 2020 [6].
      4 - The brand name “Python” encapsulates both Python 3 and Python 2.

      Recommendations

      Note

      The use of Python 3 is highly recommended over Python 2. Consider upgrading your applications and infrastructure if you find yourself still using Python 2 in production today. If you are using Python 3, congratulations — you are indeed a person of excellent taste. —Kenneth Reitz

      I’ll be blunt:

      Use Python 3 for new Python applications. If you’re learning Python for the first time, familiarizing yourself with Python 2.7 will be very useful, but not more useful than learning Python 3. Learn both. They are both “Python”.

      So…. 3?

      If you’re choosing a Python interpreter to use, I recommend you use the newest Python 3.x, since every version brings new and improved standard library modules, security and bug fixes.

      Given such, only use Python 2 if you have a strong reason to, such as a pre-existing code-base, a Python 2 exclusive library, simplicity/familiarity, or, of course, you absolutely love and are inspired by Python 2. No harm in that.

      Further Reading

      It is possible to write code that works on Python 2.6, 2.7, and Python 3. This ranges from trivial to hard depending upon the kind of software you are writing; if you’re a beginner there are far more important things to worry about.