OOD compromises the progress of other programming methodologies. Most of us are familiar with object-oriented concepts; in the bookshops, there are plenty on the subject. I am sure that most of you guys would acknowledge that object oriented methodology and design patterns are not a silver bullet of system design and implementation but it doesnt seem like that at all in the bookshops. It looks like object oriented technology is the answer to all ills. Not even one book was available on the subject of procedural programming when I went to bookshops in CharingCross station.
It is as though we have begun to forget why we have objects and classes in first place, and just turn to one methodology to fix the problem.
To develop an application for end user we use high-level languages to glue components together from language features to 3-party libraries, gui toolkits web-socket connection. The process conceptually is very simple; get info from one component and pass it to another. If I need an observer pattern or to multi-thread to implement any pattern most of the time its already implemented in the language or library. All I have to do is glue the components together.
In the past, the annoyance of C has driven me away from function programming the language itself stunted creativity and imagination. But now I came back to procedural programming using a different language, python, there are so many functional programming features and flexibilities that the C language does not have.
By using a lightweight simple methodology when something goes wrong and you know you have upheld the 4 principles of good design, it is easy to find the problem. No need to worry about memory leeks, which objects are alive or dead, unused methods boating up the code, accidently overiding methods,or how not to end up with fragile tree structures.
It a shame that with all these software layer upon layer of middleware has bloated some software out of proportion so much it is better to run curtain types of software through an emulator to get better speed. If you told me ten years ago that you 400 mgz PC would be too slow for a for yahoo chat client, I would not believe it.
Its also surprising what can be got from a limited machine - the playstation (PSX) has a 33mhz cpu, 2mb and a 2x CD drive. PSX games still match many PC games in quality. I bet playstation software didn't use design patterns.
Pardon me Gerald, but this is like the umpteenth time you are bashing OOP, and it is really pissing me off. Not that people can't have their opinions and I will never dismiss someone's opinion.
You have also posted this many times to the wrong forum. What the heck does this have to do with ORM tools like Hibernate or TopLink, etc...
I have many years of experience with many languages, over 27 years of programming, I have seen many methodolgies come and go, some stay, and of all that I have seen, correctly using OO principles and design, you can make thousands of times better systems.
When I say systems, I am not just talking about a GUI that some operator is using and it accomplishes their tasks. I am adding Readability, Maintainability, Expandibility, Robustness.
Also, I did not move this thread to the correct forum since you have posted this type of thread a couple of times here and I moved those. I thought you might realize that this is the incorrect forum to post an OO debate thread.
Mark [ December 03, 2004: Message edited by: Mark Spritzler ]