OOP started life in the sixties but the publication of "Elements of Reusable Object-Oriented Software" in 1994 really established it as the direction that software design was moving.
Dividing the world into objects and classes, complicated to set up, even more complicated to execute. But once established, is a dream to program in. The thing about objects is that you will never have to code them again.
But do people actually think like this?
An Example
If you spoke to a database designer would tell you that in a relational database the data only occurs once. In real life it is different, our brain cannot think like the relation database designer.
When I have been programming with OOP a problem has presented itself, and try as I might, I have not been able to think of a solution.
Not bring able to see the solution has not stopped me programming, I know how the first steps of my programme operate so I can write the initial steps and iron out any problems that might occur. When I have finished this part the next step will be appear obvious, and so you move the solution forward. One step at a time is all you have is to do programmatically. By following the steps eventually you will get to a solution.
With a relational database this in not how you should program. You cannot have a notion of an idea but have no table to store it in! In real life you decide one step at a time. So maybe the relational database does not exist? Is it just in our imagination? It’s a nice idea but when we want the computer to do some real work having a predefined relation model is a bit rich?
Having been a relational database freak then the idea of an OOP database seems quite weird. So I will let you know how I get on!
Here are some examples
Microsoft has used Object Oriented Programming heavily in the development of Visual Studio.
Below is a free sample of OOP, a Password Phrase Generator, storing data in SQL server.
PhraseSetup.msi (652.50 kb)
Below is a free sample of OOP, a Password Phrase Generator, storing data in XML.
PhraseXMLSetup.msi (397.00 kb)