What I dub OOP-lite is the software paradigm being popularized by modern programming languages like Go, Rust and V1.
This paradigm is characterized by the use of:
- Interfaces
- Explicit separation of state (
struct
) and behavior (methods for a specific type) - Composition over inheritance
Like OOP:
- It relies on polymorphism, but provided through interfaces
Unlike traditional OOP:
- Avoids inheritance and deep class hierarchies
Footnotes
-
And I’m certainly missing others, these are the ones I’m most familiar with. ↩