Date: Mon, 04 Jan 2021 19:00:00 -0500
<div class="wp-block-jetpack-markdown"><h3>Summary</h3> <p>On its surface Python is a simple language which is what has contributed to its rise in popularity. As you move to intermediate and advanced usage you will find a number of interesting and elegant design elements that will let you build scalable and maintainable systems and design friendly interfaces. Luciano Ramalho is best known as the author of Fluent Python which has quickly become a leading resource for Python developers to increase their facility with the language. In this episode he shares his journey with Python and his perspective on how the recent changes to the interpreter and ecosystem are influencing who is adopting it and how it is being used. Luciano has an interesting perspective on how the feedback loop between the community and the language is driving the curent and future priorities of the features that are added.</p> <h3>Announcements</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!</li> <li>Your host as usual is Tobias Macey and today I’m interviewing Luciano Ramalho about the recent and upcoming changes in the Python language</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you start by giving an overview of the role that Python has played in your career?</li> <li>What other languages do you work with on a regular basis? <ul> <li>How has that experience influenced the ways that you use Python?</li> </ul> </li> <li>What do you see as the biggest changes that have been added to Python in recent years?</li> <li>How have the changes in Python changed the way that you approach program design?</li> <li>How has your work on Fluent Python influenced your perspective on the language and its utility?</li> <li>What do you find to be the most confusing aspects of Python, whether for newcomers or experienced developers?</li> <li>How would you characterize the types of features that have been added to Python in recent years? <ul> <li>What, if any, trends have you observed in the types of features that are proposed and included in Python and what do you see as the motivating factors for them?</li> </ul> </li> <li>What changes to the language are you tracking? <ul> <li>Which are you personally invested in?</li> </ul> </li> <li>What new features or capabilities would you like to see included in Python?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://twitter.com/ramalhoorg?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">@ramalhoorg</a> on Twitter</li> <li><a href="https://github.com/ramalho?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">ramalho</a> on GitHub</li> <li><a href="https://www.linkedin.com/in/lucianoramalho/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://magic.wizards.com/en/mtgarena?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Magic: The Gathering: Arena</a></li> </ul> </li> <li>Luciano <ul> <li><a href="https://www.netflix.com/title/80234304?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Queen’s Gambit</a></li> </ul> </li> </ul> <h3>Closing Announcements</h3> <ul> <li>Thank you for listening! Don’t forget to check out our other show, the <a href="https://feeds.fireside.fm/pythonpodcast/rss">Data Engineering Podcast</a> for the latest on modern data management.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li> <li>If you’ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">iTunes</a> and tell your friends and co-workers</li> <li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li> </ul> <h3>Links</h3> <ul> <li><a href="https://www.oreilly.com/library/view/fluent-python/9781491946237/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Fluent Python</a></li> <li><a href="https://en.wikipedia.org/wiki/Library_and_information_science?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Library and Information Sciences</a></li> <li><a href="https://www.thoughtworks.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Thoughtworks</a></li> <li><a href="https://en.wikipedia.org/wiki/S%C3%A3o_Paulo?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">São Paulo, Brazil</a></li> <li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Perl</a></li> <li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PHP</a></li> <li><a href="https://en.wikipedia.org/wiki/Object-oriented_programming?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Object Oriented Programming</a></li> <li><a href="https://dbader.org/blog/python-dunder-methods?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Dunder Methods</a></li> <li><a href="https://www.dabeaz.com/per.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python Essential Reference</a></li> <li><a href="https://learning.oreilly.com/library/view/python-in-a/9781491913833/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python In A Nutshell</a></li> <li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python Typing Module</a></li> <li><a href="https://google.github.io/pytype/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Pytype</a></li> <li><a href="https://pyre-check.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Pyre</a></li> <li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">MyPy</a></li> <li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">AsyncIO</a></li> <li><a href="https://www.python.org/dev/peps/pep-0544/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Typing Protocols</a></li> <li><a href="https://en.wikipedia.org/wiki/Duck_typing?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Duck Typing</a></li> <li><a href="https://www.researchgate.net/publication/213886116_Static_Typing_Where_Possible_Dynamic_Typing_When_Needed_The_End_of_the_Cold_War_Between_Programming_Languages?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Static Typing Where Possible, Dynamic Typing Where Needed</a></li> <li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">TypeScript</a></li> <li><a href="https://www.ruby-lang.org/en/news/2020/12/20/ruby-3-0-0-rc1-released/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Ruby 3 Type Annotations</a></li> <li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">C#</a></li> <li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Go Language</a></li> <li><a href="https://kotlinlang.org/docs/tutorials/javascript/kotlin-to-javascript/kotlin-to-javascript.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">KotlinJS</a></li> <li><a href="https://www.python.org/dev/peps/pep-0465/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Matrix Multiplication Operator</a></li> <li><a href="https://www.python.org/dev/peps/pep-0572/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Walrus Operator == Assignment Expressions</a></li> <li><a href="https://www.python.org/dev/peps/pep-0617/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CPython PEG Parser</a> <ul> <li><a href="https://www.pythonpodcast.com/cpython-parser-replacement-episode-285/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://www.python.org/dev/peps/pep-3099/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PEP 3099</a>: Things that will Not Change in Python 3000</li> <li><a href="https://elixir-lang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Elixir</a></li> <li><a href="https://en.wikipedia.org/wiki/Pattern_matching?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Pattern Matching</a></li> <li><a href="https://www.erlang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Erlang</a></li> <li><a href="https://en.wikipedia.org/wiki/Prolog?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Prolog</a></li> <li><a href="https://www.python.org/dev/peps/pep-0634/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python Pattern Matching PEP</a></li> <li><a href="http://www.swig.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SWIG</a></li> <li><a href="https://en.wikipedia.org/wiki/Computer_algebra?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Symbolic Computation</a></li> <li><a href="https://docs.python.org/3/howto/descriptor.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python Descriptors</a></li> <li><a href="https://beeware.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Beeware</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fluciano-ramalho-python-evolution-episode-296%2F&action_name=How+Python%27s+Evolution+Impacts+Your+Fluency+With+Luciano+Ramalho+-+Episode+296&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />