Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How many iPhones does it take to ship a new Py...

How many iPhones does it take to ship a new Python version?

For people new to Python, it can be hard to grasp the difference between, say, Python 3.5 and Python 3.6. This lightning talk aims to conceptualise the efforts it require to ship a new Python version, by comparing that to the development of iPhone models.

Chan Sau Yee

October 27, 2023
Tweet

Other Decks in Technology

Transcript

  1. How many iPhones does it take to ship a new

    Python version? 2023-10-27 CHAN Sau Yee @ PyCon APAC
  2. About me CHAN Sau Yee Software Engineer at HENNGE K.

    K. Goals - 2019: Climb Mount Kilimanjaro (5,895m) - 2020-21: Survive COVID - 2022: Finish full marathon (42.195km) - 2023: Speak at PyCon! 2
  3. A: Size of your ego 4 Q: What’s the difference

    between an iPhone Mini and an iPhone Max?
  4. iPhone Steve Jobs Python Guido van Rossum “Benevolent Dictator For

    Life” (BDFL, until 2018) Similarity #1: Founders 10 Source: Faces of Open Source Photo by Albert Watson
  5. iPhone Oct 2020: iPhone 12 Sep 2021: iPhone 13 Sep

    2022: iPhone 14 Sep 2023: iPhone 15 Python Similarity #2: Cadence 11
  6. iPhone Oct 2020: iPhone 12 Sep 2021: iPhone 13 Sep

    2022: iPhone 14 Sep 2023: iPhone 15 Python Oct 2020: Python 3.9 Oct 2021: Python 3.10 Oct 2022: Python 3.11 Oct 2023: Python 3.12 🎉 Similarity #2: Cadence 12
  7. iPhone Oct 2020: iPhone 12 Sep 2021: iPhone 13 Sep

    2022: iPhone 14 Sep 2023: iPhone 15 Python Oct 2020: Python 3.9 Oct 2021: Python 3.10 Oct 2022: Python 3.11 Oct 2023: Python 3.12 🎉 Similarity #2: Cadence 13 Pro tip: Add 3 to Python minor version to know the iPhone version equivalent e.g. Python 3.7 = iPhone 10
  8. Python Transparent, community-driven -> Python Enhancement Proposals (PEPs) • Everything

    is on Github / discussions are open! • PEP 572: Proposal to Acceptance: 1.5 years • PEP 703 (GIL): 4 months for tentative accept iPhone -> announcement (e.g. WWDC) Secrecy rumors rumors rumors rumors Difference #1: Transparency 15
  9. Apple Inc. 164,000 employees -> 100,000 people involved Python Active

    Python Core Developers (85) -> they can sponsor PEPs/ draft PEPs Steering Council (5) - nominated and voted -> they have the final say on PEPs Library maintainers test new versions -> 100 people Difference #2: Size 17 (Source: Apple Inc, 2022)
  10. Difference #3: Lifecycle Apple AppleCare: 1 - 3 years Python

    https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/ 18
  11. Difference #3: Lifecycle Apple AppleCare: 1 - 3 years Python

    First release to End-of-Life (EOL): 5 years Libraries usually drop support ~6 months after deprecation E.g. AWS SDK https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/ 19
  12. Conclusion Q. How many iPhones does it take to ship

    a new Python minor version? A. - By time: 1 new Python version = 1 new iPhone - By number of people: = 1/1000 new iPhone - By lifespan: = 2 new iPhones 21