McGruff wrote:I think you're right that nicely organised functions would display some of the characteristics of an OOP design...
Actually, that's not at all what I said. I used the term OO, not OOP.
McGruff wrote:
...but the procedural alternative would merely be a hamstrung version, comically bending over backwards to maintain its procedural purity. If someone had got to that level of understanding, it should be pretty obvious that OOP has much more to offer.
The above is only (potentially) correct if you hadn't misunderstood in the first place. Using RDD or OOD with prodedural code doesn't mean one
must attempt to mimmic objects or otherwise.
McGruff wrote:
Personally I feel more and more strongly that the OOP debate is a complete waste of time. There is no debate: procedural simply doesn't cut it. OOP is a tried and tested paradigm and has been for some time. There is so much nonsense talked about the subject on the internet and I don't like to see learner programmers being misled.
Personally, I don't like to see the learners led astray with the mental ceiling of "This paradigm is the shining path".
What I said doesn't take away from the usefullness of OOP, but instead attempts to elevate the entire conversation. There was something that Harry Fuecks wrote in his blog stating that Procedural Code leads to slower apps. Not talking about development time either, but instead performance. Of course, this isn't what was really meant. It was more just to do some chain yanking (get a reaction). Reading between the lines of what was said, is the idea that those who've spent some serious time in OOP are more likely to come up with a more effecient algorithm for whatever problem is at hand.
To some degree, I agree with this. However, what this really points too isn't OOP, which is the act of using objects, but OOD, which is design at a higher level with a view of software constructs that is object centric, whether or not an
actual object is used.
Don't let yourself be so swept away with warm feeling and glowing rays that these nuances are lost on you.
As for procedural, there are large numbers of bodies that have been using what we call procedural or functional code for some time and enjoying great success. A long time ago the military took an object view (though they never used the term) to how much of it's code is organized and used. Individuals were responsible for writing a hunk of code with a specific interface that performed a specific action. That should sound familiar.
Simply put, good design (OOD/RDD) stands a level above OOP or procedural/functional and is the key deciding factor in how well a project turns out. All the rest of the flag waving, baby kissing, and sticker selling is just immature.
Sorry, but it's got to be said.