Object-oriented programming originated from simulation programming in the 1960s where programs were modeled after real-world objects. Early languages like SIMULA in the 1970s incorporated object-oriented concepts like objects with identity, behavior, and state. Languages descended from ALGOL like Smalltalk fully embraced object orientation and treated all program elements as objects that communicate via message passing. Popular modern languages like C++ and Java further developed and standardized object-oriented programming.