This site describes my thoughts on the world of object orientation (OO), a world of obscurity and confusion.
An aspect of this obscurity and confusion lies in the use of different
terminology and different semantics for the same terms.
Another aspect is the fact that although software development is done
using a programming language that supports object orientation it is not
software engineering, in that it is systematic, disciplined, and quantifiable.
The origin of this is found in thinking in implementation in an early stage
of the design instead of abstracting from implementation details,
a common source of design problems.
To this world I Object.
Object orientation in programming predates the existence of object oriented
programming languages.
Although not called object orientation, its fundamentals were used to program
long before.
The fundamentals were used then and are still used now in programming
languages which do not have any specific support for object orientation.
In that world I Object.
Most say that you can only program in an object oriented way in object oriented
programming language and that such a programming language at least need
a set of features not found in other languages.
To this I Object.
The purpose of this website is to gather my thoughts on object orientation
and where this obscurity and confusion comes from.
Its goal is to formulate and refine these thoughts
to come up with a theory on objects and (abstract) modelling of object oriented
systems that lifts the obscurity and confusion, resulting in true object
oriented software engineering.
A world in which I Object and where I, Object.
- Issues with OO
- What is Object Orientation?
- Application of OO (in Programming, Design, and Analysis)
- . . .