Re: class usage
| From: | benifactor | Date: | Fri, 29 Sep 2006 22:17:35 +0000 |
| Subject: | Re: class usage | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-242409@lists.php.net to get a copy of this message | ||
thank you all for your input, and thank you richard for breaking that down
nice and slow for me :) uhh, that was just me trying to see how a class
works, and is by no means a real program and will never be. just as i was
coding my first class i confused myself thinking that i could do the same
stuff without classes and such... however i need to make trivial useless
scripts to learn before i come across the need to use real classes and
objects to avoid ending up lost and begging the list for help. any other
comments would also be appreciated... thanks again.
----- Original Message -----
From: "Richard Lynch" <ceo@l-i-e.com>
To: "benifactor" <snorris17@cox.net>
Cc: "php" <php-general@lists.php.net>
Sent: Friday, September 29, 2006 9:07 AM
Subject: Re: [PHP] class usage
> On Fri, September 29, 2006 4:35 am, benifactor wrote:
> > ..and this seems to work fine, i could easily add the mail function
> > and insert real variables into send() but what i don't understand is i
> > could also easily do this without a class... so i guess the real
> > question is what are some real life examples of class usage and why is
> > it used as opposed to regular non oop? thank you for any input into
> > the subject that you may have.
>
> For something that small, using a class is ridiculous, bloated,
> over-engineered pointless exercise.
>
> Rather than type "ridiculous, bloated, over-engineered pointless
> exercise" in this email again, I'll simply dub that "Wrong Answer" and
> type that a lot.
>
> In fact, for almost *ANY* small/simple problem OOP is the "Wrong Answer".
>
> OOP shines, however, in some large-scale usage:
>
> #1. One architect, many developers
> If you have ONE project architect cleanly map out a Plan in the form
> of a large class structure, with a clear and clean internal API, and a
> bunch of junior programmers to fill in the details, the Architect can
> use OOP with stub functions, just like you wrote above, to build the
> framework, and the junior programmers can fill in all the stubs.
>
> #2 Real-world parallels
> Sometimes when modeling real-world parallels (or even Virtual World
> parallels like game prototyping, windowing systems, etc) having OOP
> leads to a very natural readable maintainable code-base, as the
> operations and variables and the interaction between them mirrors to a
> large extent the operation and interaction between their real-world
> counterparts.
>
> The biggest problem in OOP, in my experience, is that you have many
> developers, like yourself, who begin using OOP solely because they are
> told that "it's better"
>
> Many of these developers then go on to write *BAD* OOP code, for all
> the wrong reasons, in all the wrong places, to solve trivial problems
> with the "Wrong Answer".
>
> Many of these developers continue to use the "Wrong Answer" over and
> over, and never actually utilize any of the strengths of OOP, but
> instead train themselves to misapply OOP. Their code "works" it's
> just oftentimes the "Wrong Answer"
>
> Unfortunately, learning to use OOP correctly is a long-term process,
> and you have to do a bunch of trivial things with the "Wrong Answer"
> just to figure out how it works -- Which means you really should re-do
> them as non OOP, or be doing them solely as a means of learning and
> not throwing them into Production.
>
> Alas, this is not how 99% of OOP code in Production ends up in
> Production... All too often, it's the "Wrong Answer" that gets thrown
> into Production.
>
> This is not meant as a "dis" of the great OOP code out there. I've
> seen some very very very nice OOP systems in the past -- in Lisp, to
> solve large-scale problems.
>
> In PHP, to spit out a web page in under 1.7 seconds, not so much. :-)
>
> I'm sure somebody out there has a GREAT PHP web application with a
> complex backend all in OOP. So far, all I've seen is "Wrong Answer".
>
> YMMV
>
> --
> Like Music?
> http://l-i-e.com/artists.htm
>
>