Beyond Paradigms: a new key to grok Python & other languages

Focus on features, not paradigms. This new approach to the study of programming languages offers practical advice for programmers learning a new language, adopting coding idioms, and choosing suitable design patterns.


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

Domains:

Algorithms, Code-Review

Domain Expertise:

none

Python Skill Level:

basic

Link to talk slides:

https://speakerdeck.com/ramalho/beyond-paradigms-go-and-python-examples

Abstract as a tweet:

BeyondParadigms: Languages like Python and Go don't fit programming paradigm categories very well. A more pragmatic and practical way to understand languages is focusing on features. This is what "Beyond Paradigms" is about.