The Real Python Podcast

Exploring Functional Programming in Python With Bruce Eckel


Listen Later

Would you like to explore the functional programming side of Python? What are the advantages of this approach, and what tools are built into the language? This week on the show, author Bruce Eckel talks about functional programming in Python.

Bruce is the author of several programming books, including Thinking in Java, Thinking in C++, Thinking in Python, Atomic Scala, and most recently, Atomic Kotlin. He’s been an explorer of programming languages over his career. Functional programming—with its lack of side effects, its transparency, and its potential for parallelization—has recently caught Bruce’s attention.

Bruce’s talk “Making Data Classes Work for You” at PyCon US 2022 explored the idea of the invariance of objects.

We also discuss his next book project, the Python community, and his affection for “un-conferences”. Bruce is hosting the upcoming Summer Tech Forum in Crested Butte, Colorado, this August.

Course Spotlight: Using Data Classes in Python

Data classes were introduced in Python 3.7. When using data classes, you don’t have to write boilerplate code to get proper initialization, representation, and comparisons for your objects.

Topics:

  • 00:00:00 – Introduction
  • 00:02:15 – Musicians as programmers
  • 00:03:40 – Happy Path Programming Podcast
  • 00:04:19 – The essence of functional programming
  • 00:10:55 – Making Data Classes Work for You - PyCon US 2022 talk
  • 00:15:14 – What are things that have drawn you to Python?
  • 00:17:39 – More than just a scripting language
  • 00:21:35 – Consulting with companies
  • 00:23:40 – Video Course Spotlight
  • 00:25:04 – The frozen flag in a data class and __post_init__
  • 00:29:02 – Invariance and functional programming
  • 00:31:02 – How do you see it changing your programming?
  • 00:34:49 – Not forcing an “approach” to Python
  • 00:38:46 – Writing style in programming and books
  • 00:42:31 – Who has been the intended audience for your books?
  • 00:45:26 – Educational debt
  • 00:46:50 – Python’s community
  • 00:51:03 – New book about concurrency
  • 01:00:51 – Winter and Summer Tech Forums
  • 01:07:23 – Conference precautions and safety
  • 01:08:51 – What are you excited about in the world of Python?
  • 01:11:40 – What do you want to learn next?
  • 01:12:23 – How can people follow the things you do?
  • 01:13:13 – Thanks and goodbye
  • Show Links:

    • Computing Thoughts - Bruce Eckel’s Programming Blog
    • MindView Exceptional Learning Experiences
    • Happy Path Programming • A podcast on Anchor
    • Bruce Eckel: Making Data Classes Work for You - PyCon US 2022 - YouTube
    • Data Classes in Python 3.7+ (Guide) – Real Python
    • Functional Programming in Python: When and How to Use It – Real Python
    • Function composition (computer science) - Wikipedia
    • Monad (functional programming) - Wikipedia
    • Smalltalk - Wikipedia
    • C++ - Wikipedia
    • Java (programming language) - Wikipedia
    • Object-oriented programming - Wikipedia
    • Learning Resources for the Kotlin Programming Language
    • Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast
    • Fluent Python, 2nd Edition
    • Summer Tech Forum Unconference: Self-Organizing Open Spaces in Crested Butte, Colorado August 15-19, 2022
    • Bruce Eckel (@BruceEckel) / Twitter
    • Level up your Python skills with our expert-led courses:

      • Python Decorators 101
      • Using Data Classes in Python
      • Using Python Lambda Functions
      • 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

        139 ratings


        More shows like The Real Python Podcast

        View all
        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        288 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        625 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        579 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        289 Listeners

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

        Super Data Science: ML & AI Podcast with Jon Krohn

        302 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

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

        Syntax - Tasty Web Development Treats

        988 Listeners

        Darknet Diaries by Jack Rhysider

        Darknet Diaries

        8,088 Listeners

        Tech Brew Ride Home by Morning Brew

        Tech Brew Ride Home

        969 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        200 Listeners

        AWS Podcast by Amazon Web Services

        AWS Podcast

        207 Listeners

        Django Chat by William Vincent and Carlton Gibson

        Django Chat

        75 Listeners

        Last Week in AI by Skynet Today

        Last Week in AI

        310 Listeners

        Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

        Machine Learning Street Talk (MLST)

        100 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        70 Listeners