The Real Python Podcast

Continuing to Unravel Python's Syntactic Sugar With Brett Cannon


Listen Later

A year ago, we had Brett Cannon on the show to discuss his blog series about unravelling Python’s syntactic sugar. Brett has written 15 more entries in the series, and he returns to the show this week to continue our conversation. We dive into unravelling ‘async’ and ‘await’ statements and their relationship with Python’s generators.

While working through the series, he has uncovered some issues lying under the surface of CPython. We discuss a couple of these discoveries and how the core developers resolved them.

Brett was recently re-elected to the Python Steering Council, and he talks about how the current direction of the council is shifting. We also discuss how Brett uses Twitter polls to gauge community sentiment and factors it into development decisions.

This conversation covered so many topics that we split it into two episodes. Next week’s episode will continue our discussion.

Course Spotlight: Speed Up Python With Concurrency

Learn what concurrency means in Python and why you might want to use it. You’ll see a simple, non-concurrent approach and then look into why you’d want threading, asyncio, or multiprocessing.

Topics:

  • 00:00:00 – Introduction
  • 00:01:54 – Python Steering Council Reelection
  • 00:06:06 – Python Extension for VSCode and the Language Server Protocol (LSP)
  • 00:10:38 – Using twitter polls to gauge sentiment
  • 00:19:19 – Sponsor: Honeybadger
  • 00:20:04 – Unravelling Python’s syntactic sugar series
  • 00:25:30 – The desugar GitHub repo and unearthing problems in CPython
  • 00:29:48 – Why have __iter__() for an iterator?
  • 00:32:47 – Is discovering and showcasing these “issues” stressful?
  • 00:35:19 – A reverse chronology of some Python features
  • 00:38:34 – How the heck does async/await work in Python
  • 00:51:29 – Video Course Spotlight
  • 00:52:54 – Using “spam” vs “foo” and metasyntactic variables
  • 00:57:30 – Goodbye
  • Show Links:

    • 2022 Python Steering Council Election Results - Python.org
    • Official Page for Language Server Protocol
    • Brett Cannon on Twitter: “If I were creating a protocol/interface for a spammy object, what naming convention would you expect?”
    • Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast
    • Brett Cannon - Twitter Poll: “Which of these ‘pip install’ flags to you usually specify?”
    • Episode #47: Unraveling Python’s Syntax to Its Core With Brett Cannon – The Real Python Podcast
    • Unravelling ‘break’ and ‘continue’
    • Unravelling ‘for’ statements
    • GitHub - brettcannon/desugar: Unravelling Python source code
    • A reverse chronology of some Python features
    • What Color is Your Function? – journal.stuffwithstuff.com
    • Unravelling ‘async’ and ‘await’
    • How the heck does async/await work in Python 3.5?
    • Episode #39: Generators, Coroutines, and Learning Python Through Exercises – The Real Python Podcast
    • How to Use Generators and yield in Python – Real Python
    • Async IO in Python: A Complete Walkthrough – Real Python
    • Level up your Python skills with our expert-led courses:

      • For Loops in Python (Definite Iteration)
      • Python Generators 101
      • Speed Up Python With Concurrency
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        136 ratings


        More shows like The Real Python Podcast

        View all
        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        272 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        283 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        41 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        592 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        624 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        269 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        298 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        982 Listeners

        DataFramed by DataCamp

        DataFramed

        266 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        181 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        189 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        64 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        52 Listeners