Linked from
The 21 pages that link to Object-oriented programming, each with the reason it gives.
AbstractionRelated: Objects offer abstractions that group data and operations behind defined interfaces.
Functional programmingCompared with: Its encapsulated mutable objects offer a different way to organize state and behavior.
Structured programmingCompared with: It adds an organizing principle beyond the control-flow structure emphasized here.
Xerox PARCRelated: PARC researchers advanced object-oriented ideas through the Smalltalk programming language.
C++Related: C++ supports classes, inheritance, and polymorphism without requiring every program to use them.
SmalltalkNarrower topic: Smalltalk is a foundational, consistently object-oriented example of this broader paradigm.
SketchpadRelated: Sketchpad’s master drawings and instances anticipated ideas later associated with object-oriented systems.
Alan KayNarrower topic: Kay helped develop this approach, especially its message-passing and modularity principles.
Declarative programmingCompared with: It organizes programs around interacting stateful objects, a different primary organizing idea.
Procedural programmingCompared with: It groups behavior with objects, unlike procedural code's emphasis on procedures.
Imperative programmingRelated: Many object-oriented languages use imperative commands to update object state.
Barbara LiskovNarrower topic: Her work on types and substitution became central to object-oriented design.
Bjarne StroustrupRelated: Stroustrup incorporated classes and related ideas while preserving C’s systems-programming strengths.
James GoslingNarrower topic: Java’s design applies object-oriented ideas to portable application development.
Kristen NygaardNarrower topic: Nygaard’s work on Simula helped establish this programming paradigm.
Modular programmingCompared with: Object-oriented design is one way to structure modules, not a requirement of modular programming.
Programming paradigmBroader topic: It structures programs around interacting objects and their responsibilities.
Objective-CNarrower topic: Objective-C adds classes, inheritance, and polymorphism to its C base.
Physical objectRelated: Its objects are computational models, not necessarily tangible entities.
C SharpNarrower topic: C# directly supports classes, inheritance, interfaces, and other object-oriented techniques.
Yukihiro MatsumotoNarrower topic: Ruby treats values as objects and makes object-oriented programming central to its design.