Echoes from the golden age of OO

OO-languages rules the programming language domain sovereignly. OOA method is quite evidently far the best way to begin application development process. How ever this fact was somehow lost in the middle of 2000’s.

Here is a short a retrospective of application analysis development methodologies from 1980 onwards. Behind this development and the case of it is the ultra rapid development of computers. Computers are latest category of technic evolutions and its rate of change has been phenomenal. Following this exponential technical development and understanding the development as a howle is extremely difficult because all the development in the past seems quite minimal compared to recent. So it is very difficult to give real credit to those steps in past as they seems so tiny compared to later ones.One example of this development is the following: IBM PC publisti in 1980 had a processor with 4,5 MHz clock rate and today the PC:s clock rates are around 2 GHz  ( =2000 MHz). This is about 500 time the original speed. This enormous change has very significant impact on the methods of working.

The development took us from relational databases to object-orientation. In late 1970’s Allan Kay and his colleagues created the first object-oriented language Smalltalk in Xerox’s development center Park Place. The language was commercialized in early 1980’s. This created development was continued with the rise of Object-Oriented Analysis. In this approach the world was viewed in terms of object and their relations.This phase started at early 1990’s. Among the first pioneers were Grady Booch, Peter Coad, Adele Goldberg and Jim Rumbaugh just to name a few.

I run into OOA in October 1989 in Peter Coad’s 2 day training in Stockholm. This occasion changed the course of my professional life. After half day’s lecture I realized that these people had understood something fundamentally important. Something that solves easily most of the acute application problems and this first impression proved to be true.

A couple years went and then we acquired the only solid commercial Smalltalk language from ParcPlace. We started to study OO-programming with Smalltalk. It wasn’t quite easy because it was very difficult to get any training, so the advance was based on selfstude.

When we developed our Smalltalk I continue to study OOA. To the end of 1990’s when I had  stated to work in software house and I started to give trainings on OOA. During the first half of 2000 decade I created a lot of AAO-models and develop the process to more abstract and agile direction.

 

My ADDD ( Abstract Domain Driven Development )

The OOA/OOD mature during first half of 1990’s. ( see:https://bit.ly/2K9THFH ) One of the latest and best book on this field is Grady Boosh’s Object Solution (1996). This is more or less a testament and of that whole field.

As a whole this was one of the greatest achievement in the history of computing. In spite of this I saw there a significant weakness that was revealed be the efforts to use this brand new methodology. That is the lack of separation of concerns. This methodology analysed application as a whole. This will increase complexity enormously. When OO-application development method on the other hand emphasised the 3-tier architecture where the domain and the application views were considered as separate layer. This led my to experiment to do the separation wright at the beginning of the analysis. That is why I called my method Domain Analysis. The difference was considering the domain – the interesting part of reality – as the object of the analysis. This way the application part was completely dropped. Then the second step is to create the object model of the application and this model was connected to the domain model by messages – as object always do. This allowed the domain analysis – and also the implementation – to be done without any knowledge. This meant a significant reduction of the overall complexity. This also allowed several application layer designs and implementation for instance for separate usages or implementation technologies.

 

Situation today

I wrote my my blog a tutorial covering ADDD : IT-Dinosaurus in WordPress from 2009 to 2014  I got a considerable amount of readers during those years. The peak number of visitor came between 2010 and 2014. One notable thing is also that most visitors came from India, US and Canada! Very surprising is the fact that there was still in 2016 the number of visitor was still 4500 and ranking of the countries was Canada, US and India.

In mid 1990’s I ( and also Grady Booch) thought that OOA/OOD/OOP would by the standard most common way to develop application, but it didn’t turn out that way. In early 2000’s the big database companies were afraid of losing their businesses to OO-databases and they started a big campaign to stop OOA usage and they came out with SOA, which was devastating for software industry development and took us backwards several step to history, but the old dinosauruses – the relational databases were able to maintain the market shares.

The thing that surprises me today is the amount of visitor to my old blog. It shows me that there are still a lot of enlightened persons in this field, that has rediscovered the true value and meaning of OO today.

Echoes from the golden age of OO

Advertisements