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.' www.acm.org/announcements/turing_2001.html

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.