Luciano Ramalho is the author of Fluent Python, an international bestseller published in 9 languages. He started using Python in 1998, creating publishing systems for "Web 1.0". Python is Luciano's favorite language, but he also enjoys coding in Elixir and Go.
Java is object oriented and Haskell is functional. How about Python? Is it really OO with free-standing functions and porous encapsulation? Python has lambdas and closures, but is it functional? Are these useful questions?
A better approach to learning of programming languages is to focus on features, not paradigms. This delivers practical advice for choosing patterns and understanding idioms.
In the last 10 years a new approach to the study of programming languages has emerged: focus on features, not paradigms. This approach offers more direct, practical advice for programmers learning a new language, taking up coding idioms, and choosing suitable design patterns.
This talk will name some key language features, show how they affect the use of design patterns, and conclude with a refactoring guided by this new approach, producing simpler, more efficient code. Theory in practice.