Its about the collaboration of objects and the injection of their
dependencies; it's a lot easier and more versatile via OOP.



On Thu, Dec 5, 2013 at 3:10 PM, dennis-fedco <[email protected]>wrote:

> I've been reading Stack Overflow on
>
> whats-the-benefit-of-object-oriented-programming-over-procedural-programming
> <
> http://programmers.stackexchange.com/questions/120019/whats-the-benefit-of-object-oriented-programming-over-procedural-programming
> >
>
> It is a good (although not the best) overview of why OO was created and how
> it can help organize and reduce errors on large cohesive projects.
> With my advance apologies to the "oh here we go again on OO vs Proc" crowd,
> I think this question needs to be asked as I personally have not really
> seen
> the side of the question I am about to ask addressed in a clear decisive
> manner.
>
> So here we go... HTTP is request/response protocol, so I do not see
> procedural programming approach to the web as being necessarily handicapped
> when OO vs Proc is considered.  So my question is:  What drives OO
> frameworks, such as ZF2/3 to be object oriented?
>
> In defense of Proc:
>         Example:  for each HTTP request, each individual web page to be
> seen inside
> the browser can be written as its own mini-MVC structure just using
> straight
> PHP without the "burden" of OO, Design Patterns, etc.
>
>         Granted, this sounds a little basic.  But before one protests
> prematurely,
> a lot of the "ugly thorns" of procedural programming can be taken care of.
> i.e database/model connector part can be shared among all the
> per-page-scripts, any code duplication, validation, etc, can be moved out
> into a functions library, views are separated, and you can still write
> function tests, use test driven development and so on and so forth.
>
>         Granted, to write good procedural code one needs to be well
> organized and
> "behave".  Procedural code does not have to be spaghetti code. It can be
> clean, awesome, and well-separated.  This separation needs to be enforced
> by
> the programmer and the programming team, opposed to the language constructs
> themselves.  Doing so placed a tad more burden on the programmer, i.e. each
> script will need to be maintained by the programmer and the programmer will
> need to be conscious of what code needs to be changed where, in order to
> not
> write themselves into a tangles of spaghettiness.  Things such as data
> validation/cleaning, variable output, and so on will require better
> organization and code self-disciplining skills on the part of the
> programmer
> to not mess those up.  In the end, if you apply some solid organization
> skills and a good directory structure, you can write procedural code that
> is
> modular, flexible, secure, and high performing.
>
> My main point is this:  OO, with its encapsulation, and so on, is not
> really
> needed when we are dealing with "writing small scripts, one script for each
> page for HTTP's Request/Responce protocol", even when it comes to large
> projects.
> And since you are dealing with an individual page requests, the execution
> scope is small, heck you can even use global variables in the scripts, not
> that I'd recommend it, without fear of them clashing with globals in the
> other scripts - that is, natural encapsulation is already happening with
> procedural approach to HTTP at per-page level, without the need for OO.
>
> So what is it about the need for OO that drives OO frameworks such as ZF2?
> Why not spend more time on organizing the programmer instead of organizing
> the tool?
> Learning good organization skills is hard.  But so is learning OO.  Why not
> invest in better programmers, tutorials, classes, rather than the tools?
>  Is
> the driver behind OO frameworks more that there will always be disorganized
> programmers no matter what tools you use, so might as well write a better
> tool?
>
> Because, I don't think that OO is "just another flavor" of doing things in
> programming.  It is more of a way to organize the programming tool
> available
> to the programmer.
>
> In the end, is OO here just to "put/enforce some organization on fellow
> programmers, who otherwise would be too tempted/lazy/ignorant to abuse
> freedoms and powers of procedural code to create bad code"?
> Or is there any other real good solid reason for using and needing OO?
>
>
>
>
> --
> View this message in context:
> http://zend-framework-community.634137.n4.nabble.com/What-are-the-benefits-of-OO-vs-procedural-programming-for-the-web-tp4661285.html
> Sent from the Zend Framework mailing list archive at Nabble.com.




-- 
Greg

Reply via email to