Java is object oriented and Haskell is functional. How about Python? Is it really OO with free-standing functions and weak encapsulation? Python has lambdas and closures, but is it functional? Are these useful questions?

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.

Topics covered:

  • The problem with programming paradigms, and categories in general
  • The language features approach
  • Language features and design patterns
  • Case study: Strategy pattern with first-class functions
  • Conclusion and key take-aways

Luciano Ramalho

Affiliation: ThoughtWorks

Author of Fluent Python, published in 9 languages. Co-founder of the Python Brasil Association and of the Garoa Hacker Clube — the first hackerspace in Brazil. PSF Fellow. Principal Consultant at ThoughtWorks.

visit the speaker at: TwitterGithubHomepage