This was posted to a flash list I'm on with the thread title "OOP overkill?", hard to disagree with really....
"I think Gamma et al, summed it up nicely in their Design Patterns book: "Designing object-oriented software is hard and designing reusable object-oriented software is even harder." But the problem is not really with object-oriented programming and design. You can strike out the words object-oriented from that sentence and I think you end up with a simple truth: "Designing software is hard and designing reusable software is even harder." So the problem is designing and developing computer programs regardless of if you call it multimedia scripting or something else. The history of computer science is full of different paradigms for designing and coding programs. The various paradigms all attempted to define a good level of abstraction on which a human problem can be broken down into separate smaller problems and dealt with in a way that would ultimately result in working and useful machine code. And each paradigm came with it own theory, set of accepted practices, and lore that its adherents tried to teach in order to improve the practice of computer programming. Given the complexity of writing useful software of good quality, good development paradigms (theory, practice, and lore) are an absolute requirement for success. Unfortunately, software development in today's world requires working with more than one paradigm - or put another way - there is no one paradigm that can be used effectively to solve all the important design and development problems a developer will face in his or her lifetime. Instead, we use a bunch of them such as the relational model, state hierarchies/machines, object-oriented design and development methods etc... Each paradigm is large and complex, often essential to get a certain level of work done, and requires time and patience to learn. There are a lot of possible reasons that OOP may seem too difficult to learn and of questionable value. For example if you are trying to apply it to problems it wasn't designed to solve, because you haven't learned it well enough yet to be efficient, or because it is being shoved down your throat as some kind of panacea that will do everything all that SPAM we receive promises... I think OOP is a really useful programming discipline/paradigm that is especially valuable for medium to large software development projects. The only problem I have with OOP is when people mistake a useful paradigm for a religion. Don't use it if you don't want and need it in small scale projects and don't use it if you are not prepared to spend some serious time learning and working within the paradigm that is OOP. My two cents... -Brian" ------------------------------------------------------------------ Adrian Lynch Web Application Developer Thoughtbubble Ltd Full Service Agency ------------------------------------------------------------------ <http://www.thoughtbubble.com> Tel: +44 (0) 20 7387 8890 (ex. 23) Fax: +44 (0) 20 7383 2220 ------------------------------------------------------------------ The information in this email and in any attachments is confidential and intended solely for the attention and use of the named addressee(s). Any views or opinions presented are solely those of the author and do not necessarily represent those of Thoughtbubble. This information may be subject to legal, professional or other privilege and further distribution of it is strictly prohibited without our authority. If you are not the intended recipient, you are not authorised to disclose, copy, distribute, or retain this message. Please notify us on +44 (0)207 387 8890. -- ** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/ To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] For human help, e-mail: [EMAIL PROTECTED]
