Urb LeJeune wrote:
I used to teach Computer Science at the college and graduate level. When OOP first started the programmers with a lot of experience had real difficulty seeing the advantage and adapting to the new methodology. However, students who were just starting to program had
no problem adjusting.

I think it's simply human nature to keep wanting to do things that have worked well in
the past.


I dunno, I think that in a lot of cases there was this tendency for people to descibe every aspect of OOP as a new way of doing things.

"We have classes" - yeah, I have those, their called function libraries.

"You can create subclasses" - yeah, I can do that to, it's called making a copy of my library and changing it.(yes yes, it's not the same. OTOH, I've seen subclasses get so mangled beyond recognition that the relationship to the original class is meaningless).

"We have references to objects" - I have pointers.

Don't get me wrong, OOP has it's own strength. It takes all the good coding practices that people should have been doing anyway, and formalizes and enforces them. And than it creates a whole new way of writing bad code.

But, here is the catch, every now and then it doesn't work. You can't do something in an object oriented fashion, and figuring out how to circumvent it can be a pain.

So, if your a programmer that is already disciplined to using the good practices, and you can easily write code adhering to those practices but have the flexibility of breaking them when it is economically the best decision - you will really really really recent being forced not to.

After the second or third time I had "refereneces" explained in this incredibly complex jargon, which boiled down to "it's a pointer" - and having steam come out of the ears of the explainer that I dared compare his OOP baby to regular old programming, I started to see the point of programmers that didn't like OOP.

A lot of terminology was changed just for the sake of calling it something "new". I don't know the reasoning involved, my guess would be it was done to force programmers to think in a new way and not confuse it with old techniques and intermix. And that's fine, as long as you have the decency to admit that the 2 terms are pretty similiar.

The programming examples for object oriented programming were just tedious in the extreme. Pet subclassed to Dog subclassed to German Shepherd. The problem was that each subclassing was such a trivial change,. that it seemed like a waste of time(oh, and don't get me started on programmers that would declare that Object Oriented programming would solve everything and so they would rewrite their applications in Java or whatever the latest craze was. The end result was that instead of having a big chunk of code that was written by a team, we now had a section of code that could only be maintained by one person, and another section that only another person could maintain. It only makes business sense to rewrite code when your going to train your whole team in it, not when one guy thinks it looks good on his resume).

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to