Sunday, April 19, 2009

Object Oriented Programming is not OO Designing

A lot of talented programmer nowadays claim that Object Oriented is such a yesteryear concept.

While they may be correct in some sense, they may also be opened to a century old software development mistake.

While the new programming languages are already adhere to Object Oriented Programming rules so that when you are programming using Java for example, you don't really need to worry too much about OOP concepts.

However, OO Programming is NOT OO Designing.  So if you didn't really design an application and went straight to the programming, you would still eventually end up with a system that is not reusable and not expandable.

OO Architect is another meta level to OO Designing, which is even more conceptual and generalisation that can cater for multiple different design shifts.

It is unfortunate to see that the new generation of programmers have been hidden away from all these fundamental concepts.

We cann't blame all on college education alone.  The fact that software development industry is still rather immature, it is not easy for the academic world to stick to any fundamentals.  A good school's target is not to help you learn the truth, they are paid so that the students can get better jobs in future.  So school systems are tuned toward the possibility of helping you get a job.

In real life, more and more people are asking for cosmetic features in software development until the cosmetic effect is much bigger than a good architecture or a good software design.  The business owners themselves cann't predict what they will face in future.  Worse still, they don't even WANT TO think about future.  How would the programmer guess what to prepare for ?  And hence no good design nor architecture can be drawn at all, even if the skill is around.  As time passes by, this skill disappear in the market and no longer a requirement to survive in Software Development industry.  Like wise, school does not need to teach you then ...

This is also exactly the dilema of the gap between IT and the real world.  Most of the IT applications are less usable than it was hoped to be.  Because when a good boss specify what he wants and what to prepare for the future, the IT folks no longer able to come up with a good design for it.  Simply because IT refuses to take initiative to move a few more steps toward the business environment, "You are responsible to tell me what you want."

While the business owner knows what he wants but he is not well verse with IT jargons.  He would not be able to describe his goal in a way that IT programmer would understand.  Hence miss understanding always happen.

Then there are these so called business analysts who are suppose to help this situation.  It did help to some extend.  But unfortunately these so called analysts are too emerge with marketing terms and talks until the fact that the gap between them and the hard core programmers isn't exactly small either.

Anyway, OOP means almost nothing if you don't have a OO design to work on.  And your business IT systems will cost you more in long term than bringing value if you don't have the right OO architecture in place.  To achieve all these, you will need a truly independant consultant who can sometimes confront your business ideas.


ChampDog said...

Ha, the independent consultant is you for example? :)

maxivelasco said...

hello hello. i was here today to visit your blog. will follow, too!

maxi of and

Prince Of Games said...

how to prevent my blog from virus dude?

Related Posts Plugin for WordPress, Blogger...