• Home
  • Posts
  • Books
  • About
  • KR
Programming Paradigms

Programming Paradigms

When the paradigm shifts, so does your thinking

Evan Moon

6 chapters

How object-oriented, functional, and declarative programming approach the same problems differently, and the mathematical foundations behind abstraction and type systems.


  1. 01

    Object-Oriented Programming Is Actually Fun: A Quick Tour of OOP

    Classes, inheritance, polymorphism — let's sort out the core concepts of OOP

  2. 02

    Functional Thinking – Breaking Free from Old Mental Models

    From imperative to declarative: how to shift the way you think about programming

  3. 03

    What Is Abstraction, Really?

    More important than implementation: the essence of abstraction that developers should think about

  4. 04

    Misconceptions About Declarative Programming

    It's not syntax — it's a shift in thinking that produces truly declarative code

  5. 05

    Why Do Type Systems Behave Like Proofs?

    From seeing type checks as compiler hurdles to reading type systems as logic

  6. 06

    Beyond Functors, All the Way to Monads

    Understanding Applicative Functors and Monads through TypeScript