Naked Objects
By Richard Pawson and Robert Matthews

A critical look at object-orientation

'New York, February 5, 2002...The Association for Computing Machinery (ACM) has presented the 2001 A.M. Turing Award, considered the 'Nobel Prize of Computing', to Ole-Johan Dahl and Kristen Nygaard of Norway for their role in the invention of object-oriented programming, the most widely used programming model today. Their work has led to a fundamental change in how software systems are designed and programmed, resulting in reusable, reliable, scalable applications that have streamlined the process of writing software code and facilitated software programming.'

It's official: object-orientation has won. The argument is over; it's time to celebrate and move on.

We beg to differ.

More and more business systems are designed using an object-oriented methodology, and written in an object-oriented programming language such as Java. Their user interfaces are invariably designed with object tools such as Visual Basic. And except for a few mainframe-only systems, they are built on top of distributed object infrastructures such as COM+, EJB or CORBA. So how can we dispute the success of the object-orientated paradigm?

Because current practice demonstrates almost no commitment to the true essence of object-orientation. We define this essence as 'behavioural completeness'. To understand this concept and its significance, it is worth taking a brief look at the history of object-orientation.