Object-oriented programming
Also: OOP
A style of programming built from objects — but, in its original sense, really about messaging and late binding.
Object-oriented programming is so familiar now that it's easy to forget how radical — and how specific — the original idea was. Alan Kay coined the term around 1967, and his definition is narrower and stranger than the textbook version:
OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.
Note what's not there: classes, inheritance, and the rest of the machinery many languages treat as the essence of OOP. For Kay, those were implementation details. The essence was autonomous objects that hide their state and communicate only by message, bound together as late as possible.
The mainstream that followed — Java, C++ — kept the syntax and lost much of the spirit, which is why Kay has said that to him, most "object-oriented" languages aren't. The original vision lives most fully in Smalltalk.