NYCPHP Meetup

[nycphp-talk] Frameworks - Which best fits my development style?

bz-gmort at beezifies.com bz-gmort at beezifies.com
Fri Aug 24 16:10:53 EDT 2007


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).




More information about the talk mailing list