I(,) Object

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.