This video talks about four key characteristics of programming languages in which object orientation is a natural programming paradigm: data that respond to messages; data that persists over time; names that are bound to implementations at runtime (late binding) and subtyping polymorphism.