<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Debug Magazine</title>
	<atom:link href="http://www.debugmagazine.com/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://www.debugmagazine.com</link>
	<description>The internet finally makes sense</description>
	<lastBuildDate>Tue, 13 Dec 2011 21:26:07 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by Joshua Parker</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-27578</link>
		<dc:creator>Joshua Parker</dc:creator>
		<pubDate>Tue, 13 Dec 2011 21:26:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-27578</guid>
		<description>I still stand by my previous comment above, however, I&#039;ve been learning OOP, and I have to say that I am having more fun coding projects than I have before. But I still use procedural according to the situation.</description>
		<content:encoded><![CDATA[<p>I still stand by my previous comment above, however, I&#8217;ve been learning OOP, and I have to say that I am having more fun coding projects than I have before. But I still use procedural according to the situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Benefits of a being a Freelance Web Designer by Landon Poburan</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/benefits-of-a-freelance-job#comment-27552</link>
		<dc:creator>Landon Poburan</dc:creator>
		<pubDate>Tue, 13 Dec 2011 16:27:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=36#comment-27552</guid>
		<description>Well, like anything there are pros and cons. I would say one of the biggest cons is when you are a freelancer you do not have a &quot;steady&quot; paycheck. One month could be fantastic, the next month could be slow, especially in the early stages when you are building your client base. I would recommend if you have a full-time job to start freelancing on the side. When you have steady enough work, then think about making the switch. I love working for myself, I don&#039;t think I could have it any other way. I still work extremely hard but my hard work benefits me, not the &quot;man&quot; and I have much more freedom!</description>
		<content:encoded><![CDATA[<p>Well, like anything there are pros and cons. I would say one of the biggest cons is when you are a freelancer you do not have a &#8220;steady&#8221; paycheck. One month could be fantastic, the next month could be slow, especially in the early stages when you are building your client base. I would recommend if you have a full-time job to start freelancing on the side. When you have steady enough work, then think about making the switch. I love working for myself, I don&#8217;t think I could have it any other way. I still work extremely hard but my hard work benefits me, not the &#8220;man&#8221; and I have much more freedom!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Benefits of a being a Freelance Web Designer by Riane Seecrast</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/benefits-of-a-freelance-job#comment-27544</link>
		<dc:creator>Riane Seecrast</dc:creator>
		<pubDate>Tue, 13 Dec 2011 15:28:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=36#comment-27544</guid>
		<description>Your points are very interesting. It made me think of being a freelance now. What are the risk in being a freelance web designer? I want to know the things you like and you don&#039;t like about it please. Thank you so much.</description>
		<content:encoded><![CDATA[<p>Your points are very interesting. It made me think of being a freelance now. What are the risk in being a freelance web designer? I want to know the things you like and you don&#8217;t like about it please. Thank you so much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by viiviiviivii</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-27042</link>
		<dc:creator>viiviiviivii</dc:creator>
		<pubDate>Fri, 09 Dec 2011 13:27:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-27042</guid>
		<description>a) Too many big words
b) You need a tl;dr;
c) What you wrote is my thoughts too :)

I am currently consulting for a very successful dot com.  My gut feeling is they have me in there to stir trouble.  As right now they are in discussions about refactoring their entire codebase to be more OO.

I am going a bit crazy as it their third attempt (before I came) to do this, so now they will have 4 frameworks!

And of course none of these advocates will be the ones to do the migration of legacy code ;)

I will be making a suggestion to move all of their core .php into a java API  (at the moment they already do everything in memcache, redis and java anyway), and keep the .php lean, clean procedural code like it was originally written.</description>
		<content:encoded><![CDATA[<p>a) Too many big words<br />
b) You need a tl;dr;<br />
c) What you wrote is my thoughts too <img src='http://www.debugmagazine.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I am currently consulting for a very successful dot com.  My gut feeling is they have me in there to stir trouble.  As right now they are in discussions about refactoring their entire codebase to be more OO.</p>
<p>I am going a bit crazy as it their third attempt (before I came) to do this, so now they will have 4 frameworks!</p>
<p>And of course none of these advocates will be the ones to do the migration of legacy code <img src='http://www.debugmagazine.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I will be making a suggestion to move all of their core .php into a java API  (at the moment they already do everything in memcache, redis and java anyway), and keep the .php lean, clean procedural code like it was originally written.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by Gabor</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-25215</link>
		<dc:creator>Gabor</dc:creator>
		<pubDate>Mon, 28 Nov 2011 00:15:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-25215</guid>
		<description>It was interesting to read this discussion. I came to this site because I was interested in the advantages and disadvantages of OO codes in the typical context of PHP. I think the typical context: web based applications, really matters here. But most of the arguments (luckily not all of them) were discussing OOP vs. Procedural in a general context, which is not the right approach here.

Most of these discussions are not about the topic I’m interested in, but I still cannot resist adding my comments.

First take a step back, and see what it is all about: Algorithms. This is more important than it appears. Both paradigms are focused on specifying a way to solve a given problem an imperative manner. They are specifying the structure of their data and instructions on what to do with the data, both on a way that can be executed by a machine. This is in contrast with at least two other paradigms that all of you must know: querying languages (SQL), and markup languages (HTML). But in this classification PHP is an imperative language. It implements syntax and language constructs that are optimized for OOP. What is the real difference then?

In fact OOP is an epiphenomenon of Procedural. So there is no OOP without Procedural. It just takes a different approach of linking the data and instructions together. Inheritance and polymorphism are just two concepts to support that approach. Inheritance is to DEFINE the variations of data structure (a property) and the corresponding variations of instructions (a method) of a class. While polymorphism is to DECIDE which method is applicable to a given object (instance of a class).

Arguments about reusability in this thread were more about the quality of code. But there are different ways of writing both OO and non-OO code. It is possible to write a neat, easy to read code using the procedural syntax, and also a difficult to understand and messy code of OO syntax.

In principle what makes OO syntax more reusable, is the Inheritance and Polymorphism: Let’s assume you have an OO solution “A” to a given problem “A”. If you have a similar problem “B”, it is likely that Inheritance helps you to derive a solution by DEFINING the differences only. If you later enhance your solution “A”, it is likely that you can make use of that enhancement in the solution “B”, too. Now, let’s assume you have problem “A” and “B” with their corresponding solutions, and you have to solve a problem that involves both “A” and “B”. It is likely you can merge solution “A” and “B” without a collision (conflict of identifiers) thanks to Polymorphism. Yet, there are many more evolved concepts of OO, but these two are the most important.

In general a non-OO solution cannot warrant this. It is less likely that a non-OO solution can be reused without changes, so that future enhancements to it could be incorporated without modifying the derived solution. And on the other hand identifier collisions are more likely, and quite difficult to detect. Yes, these make reusability difficult in general, but not impossible. Especially not in case of a well designed code. If your non-OO code is designed carefully, these issues can be avoided, because PHP provides concepts to overcome them. In the next paragraph I list such concepts. 

I’ve studied various imperative languages in both practice an theory. The past few years I spent on PHP, and I found that PHP is a quite exciting one. Most of it’s characteristics are closely linked to its implementation (rather interpreted than compiled). Many of you found that it is possible to create a solution by using a fundamentally non-OO design pattern tied to the OO syntax. It is true, and not only in PHP. This is because OO is an epiphenomenon of the Procedural paradigm. What I found more surprising with PHP is that it is also possible to create a solution using a fundamentally OO design pattern tied to the non-OO syntax. Here are the key concepts/features of PHP I found essential making it possible: the four variations of external code referencing (include, require with and w/o _once), associative arrays, passing variable number of non-typed parameters in procedure calls, using string variables instead of procedure names, rich ways of handling functions (call_user_func_array, call_user_func, create_function, func_get_arg, func_get_args, func_num_args, function_exists, get_defined_functions), exception handling, namespaces.

Without studying the actual implementation of PHP, I would be greatly surprised if most of these concepts were not implemented in order to implement the necessary features to support the OO paradigm. Further I presume that the same concepts/features are actually used during the execution of code using the OO syntax.

In a legacy application model the source code is compiled to executable, then the executable is loaded into memory (or just the source code is interpreted), storage structures is initialized finally the operational instructions are executed. The latter may mean whatever, an event loop, parsing an HTML source code, or virtually anything else. If the programming language supports OO AND the problem is suited to OOP, it worth using OOP to code the solution. Otherwise it either not possible OR does not worth using OOP. It is also a possible approach for an HTML to PDF converter written in PHP and called in the command line.

That’s what I know. But I’d be rather interested in the side effects of using the OO syntax in the typical context of PHP. What is that(?): a web application. That is a distributed application, where one side (the server side) is running in a stateless and connectionless manner. PHP provides a concept (Session) to overcome (I do not consider security matters here) this problem, but what actually happens is more complex than it first appears. 

The execution of a web application consists of a series of HTTP requests. Most of these requests are executing a piece of PHP code. Each of this code pieces are executed in separate processes. This introduces a persistence issue. It means that the state of the web application must be stored somewhere between two consecutive HTTP requests. Web standards are especially rich in diverse solutions, but a single versatile way does not exist. In PHP the session (in conjunction with cookies, etc.) is a maintained execution state between consecutive script execution processes.

In a given process the PHP code can use a session to set its initial execution state identical to the final state of the previous execution. There are certain limitations, e.g. at any given point in time only one PHP script can access the data of a given session. So concurrent requests are not possible or at lest need special treatment. Here we came to a very important point that is linked to a key difference in the Procedural and OO paradigm. This is the matter of code execution flow during a process. Assuming a single threaded environment the flow of code execution is well defined and deterministic. But in case of a pure Procedural code it is also easier to predict contrary in case of an OO code, where the next instruction may also depend on the actual type of the object in focus. There are further attributes (such as more complex storage schemes) associated to OO design pattern that may bring further overhead to session handling.

These attributes are not limited to OO syntax. They also appear when using an OO design pattern tied to non-OO syntax, but there is a huge difference. In case of OO syntax the programmer lets PHP to deal with them, while in the procedural style PHP lets the programmer to do it. This is a very important difference. In a pure Procedural code (without any reference to classes) saving and restoring execution states has no prerequisites. Data can be serialized and unserialized easily. Of course there are certain data types (e.g. file handlers) that cannot be serialized, but the programmer can treat them properly in the code. But in case of the OO syntax the class definitions must be parsed before any piece of data can be unserialized. Please remember that the instructions are tied to data, so class definitions also include all the methods. Therefore if the code is written in pure OO syntax, this means the full source code of the entire application.

Now imagine a somewhat complex web shop then assume an AJAX call to update the total cart value based on the change of an item quantity. It sound simple, but the OO syntax brings an enormous overhead. I’m not against OOP. I’m working on various projects in various platforms. Some of them are prominent examples of problems desiring the OO approach (a model railroad controlling application), in a context that is well suited for and OO solution (Win32), while some of them are not. In my opinion PHP web sites in their entirety are not well suited to OO. But OO is very powerful in certain subparts of them, such as parsing an XML file and rendering a document.

Based on all the above, I MUST agree JG (September 22, 2011):
“OOP is for people who can’t properly engineer software or for competent programmers who are involved in very large or complex non-web project. If I were to write an event-driven game to run on a PC, I would not choose procedural programming.”

A presume his framework takes an OO approach but avoids using the OO syntax of PHP. It is likely not only because it is not necessary, but it would also bring unaffordable overhead.

And I disagree slightly Michael (November 22, 2011):
“And, anyone who claims they can build “just as powerful a framework” in procedural style code is either writing an incredibly bloated code base, or is simply lying.”

I disagree him, unless “bloated” means a smart design of code that adverts principles of an OO design, but avoids the inherent overhead of the OO syntax in highly interactive PHP web sites using a plenty of AJAX requests.</description>
		<content:encoded><![CDATA[<p>It was interesting to read this discussion. I came to this site because I was interested in the advantages and disadvantages of OO codes in the typical context of PHP. I think the typical context: web based applications, really matters here. But most of the arguments (luckily not all of them) were discussing OOP vs. Procedural in a general context, which is not the right approach here.</p>
<p>Most of these discussions are not about the topic I’m interested in, but I still cannot resist adding my comments.</p>
<p>First take a step back, and see what it is all about: Algorithms. This is more important than it appears. Both paradigms are focused on specifying a way to solve a given problem an imperative manner. They are specifying the structure of their data and instructions on what to do with the data, both on a way that can be executed by a machine. This is in contrast with at least two other paradigms that all of you must know: querying languages (SQL), and markup languages (HTML). But in this classification PHP is an imperative language. It implements syntax and language constructs that are optimized for OOP. What is the real difference then?</p>
<p>In fact OOP is an epiphenomenon of Procedural. So there is no OOP without Procedural. It just takes a different approach of linking the data and instructions together. Inheritance and polymorphism are just two concepts to support that approach. Inheritance is to DEFINE the variations of data structure (a property) and the corresponding variations of instructions (a method) of a class. While polymorphism is to DECIDE which method is applicable to a given object (instance of a class).</p>
<p>Arguments about reusability in this thread were more about the quality of code. But there are different ways of writing both OO and non-OO code. It is possible to write a neat, easy to read code using the procedural syntax, and also a difficult to understand and messy code of OO syntax.</p>
<p>In principle what makes OO syntax more reusable, is the Inheritance and Polymorphism: Let’s assume you have an OO solution “A” to a given problem “A”. If you have a similar problem “B”, it is likely that Inheritance helps you to derive a solution by DEFINING the differences only. If you later enhance your solution “A”, it is likely that you can make use of that enhancement in the solution “B”, too. Now, let’s assume you have problem “A” and “B” with their corresponding solutions, and you have to solve a problem that involves both “A” and “B”. It is likely you can merge solution “A” and “B” without a collision (conflict of identifiers) thanks to Polymorphism. Yet, there are many more evolved concepts of OO, but these two are the most important.</p>
<p>In general a non-OO solution cannot warrant this. It is less likely that a non-OO solution can be reused without changes, so that future enhancements to it could be incorporated without modifying the derived solution. And on the other hand identifier collisions are more likely, and quite difficult to detect. Yes, these make reusability difficult in general, but not impossible. Especially not in case of a well designed code. If your non-OO code is designed carefully, these issues can be avoided, because PHP provides concepts to overcome them. In the next paragraph I list such concepts. </p>
<p>I’ve studied various imperative languages in both practice an theory. The past few years I spent on PHP, and I found that PHP is a quite exciting one. Most of it’s characteristics are closely linked to its implementation (rather interpreted than compiled). Many of you found that it is possible to create a solution by using a fundamentally non-OO design pattern tied to the OO syntax. It is true, and not only in PHP. This is because OO is an epiphenomenon of the Procedural paradigm. What I found more surprising with PHP is that it is also possible to create a solution using a fundamentally OO design pattern tied to the non-OO syntax. Here are the key concepts/features of PHP I found essential making it possible: the four variations of external code referencing (include, require with and w/o _once), associative arrays, passing variable number of non-typed parameters in procedure calls, using string variables instead of procedure names, rich ways of handling functions (call_user_func_array, call_user_func, create_function, func_get_arg, func_get_args, func_num_args, function_exists, get_defined_functions), exception handling, namespaces.</p>
<p>Without studying the actual implementation of PHP, I would be greatly surprised if most of these concepts were not implemented in order to implement the necessary features to support the OO paradigm. Further I presume that the same concepts/features are actually used during the execution of code using the OO syntax.</p>
<p>In a legacy application model the source code is compiled to executable, then the executable is loaded into memory (or just the source code is interpreted), storage structures is initialized finally the operational instructions are executed. The latter may mean whatever, an event loop, parsing an HTML source code, or virtually anything else. If the programming language supports OO AND the problem is suited to OOP, it worth using OOP to code the solution. Otherwise it either not possible OR does not worth using OOP. It is also a possible approach for an HTML to PDF converter written in PHP and called in the command line.</p>
<p>That’s what I know. But I’d be rather interested in the side effects of using the OO syntax in the typical context of PHP. What is that(?): a web application. That is a distributed application, where one side (the server side) is running in a stateless and connectionless manner. PHP provides a concept (Session) to overcome (I do not consider security matters here) this problem, but what actually happens is more complex than it first appears. </p>
<p>The execution of a web application consists of a series of HTTP requests. Most of these requests are executing a piece of PHP code. Each of this code pieces are executed in separate processes. This introduces a persistence issue. It means that the state of the web application must be stored somewhere between two consecutive HTTP requests. Web standards are especially rich in diverse solutions, but a single versatile way does not exist. In PHP the session (in conjunction with cookies, etc.) is a maintained execution state between consecutive script execution processes.</p>
<p>In a given process the PHP code can use a session to set its initial execution state identical to the final state of the previous execution. There are certain limitations, e.g. at any given point in time only one PHP script can access the data of a given session. So concurrent requests are not possible or at lest need special treatment. Here we came to a very important point that is linked to a key difference in the Procedural and OO paradigm. This is the matter of code execution flow during a process. Assuming a single threaded environment the flow of code execution is well defined and deterministic. But in case of a pure Procedural code it is also easier to predict contrary in case of an OO code, where the next instruction may also depend on the actual type of the object in focus. There are further attributes (such as more complex storage schemes) associated to OO design pattern that may bring further overhead to session handling.</p>
<p>These attributes are not limited to OO syntax. They also appear when using an OO design pattern tied to non-OO syntax, but there is a huge difference. In case of OO syntax the programmer lets PHP to deal with them, while in the procedural style PHP lets the programmer to do it. This is a very important difference. In a pure Procedural code (without any reference to classes) saving and restoring execution states has no prerequisites. Data can be serialized and unserialized easily. Of course there are certain data types (e.g. file handlers) that cannot be serialized, but the programmer can treat them properly in the code. But in case of the OO syntax the class definitions must be parsed before any piece of data can be unserialized. Please remember that the instructions are tied to data, so class definitions also include all the methods. Therefore if the code is written in pure OO syntax, this means the full source code of the entire application.</p>
<p>Now imagine a somewhat complex web shop then assume an AJAX call to update the total cart value based on the change of an item quantity. It sound simple, but the OO syntax brings an enormous overhead. I’m not against OOP. I’m working on various projects in various platforms. Some of them are prominent examples of problems desiring the OO approach (a model railroad controlling application), in a context that is well suited for and OO solution (Win32), while some of them are not. In my opinion PHP web sites in their entirety are not well suited to OO. But OO is very powerful in certain subparts of them, such as parsing an XML file and rendering a document.</p>
<p>Based on all the above, I MUST agree JG (September 22, 2011):<br />
“OOP is for people who can’t properly engineer software or for competent programmers who are involved in very large or complex non-web project. If I were to write an event-driven game to run on a PC, I would not choose procedural programming.”</p>
<p>A presume his framework takes an OO approach but avoids using the OO syntax of PHP. It is likely not only because it is not necessary, but it would also bring unaffordable overhead.</p>
<p>And I disagree slightly Michael (November 22, 2011):<br />
“And, anyone who claims they can build “just as powerful a framework” in procedural style code is either writing an incredibly bloated code base, or is simply lying.”</p>
<p>I disagree him, unless “bloated” means a smart design of code that adverts principles of an OO design, but avoids the inherent overhead of the OO syntax in highly interactive PHP web sites using a plenty of AJAX requests.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by Landon Poburan</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-24821</link>
		<dc:creator>Landon Poburan</dc:creator>
		<pubDate>Thu, 24 Nov 2011 00:28:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-24821</guid>
		<description>That is a great point. It seems like your friend is doing thing similar to Wordpress actually. It uses classes but is still procedural.</description>
		<content:encoded><![CDATA[<p>That is a great point. It seems like your friend is doing thing similar to WordPress actually. It uses classes but is still procedural.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by ryan</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-24819</link>
		<dc:creator>ryan</dc:creator>
		<pubDate>Thu, 24 Nov 2011 00:17:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-24819</guid>
		<description>You guys... Whoever doesn&#039;t see the advantages of OOP is simply not coding OOP. A friend of mine uses classes etc. in PHP and thinks he&#039;s coding OOP, while he isn&#039;t at all. He simply uses its syntax, while the logic behind is still procedural. No matter what I&#039;m telling him, he doesn&#039;t want to understand. Basically if you believe that procedural is as good as OOP, I&#039;m pretty sure you&#039;ll never reach the point where you&#039;ll understand real OOP and see the advantages of it. Sorry guys.

I&#039;ll give a simple example before I leave, even though I don&#039;t think it will change anything since most people above me simply don&#039;t have the level.

10 years ago, pretty much all websites were big HTML tables to position their stuff. Then comes css... Now you still have idiots who tells you that you can do the same with tables etc.... But ye... No serious website doesn&#039;t use css. Yes you have to learn how it works, but I think we can all agree that it is worth it. Same goes with OOP, only problem... you can learn css in a few hours, OOP takes years to master. A web application is relatively simple and small compared to other stuff, that&#039;s the only reason why procedural is even possible. 

Now do whatever you want, but believe me on one thing: If somebody tells you that procedural is better, he simply never reached the level to actually understand what&#039;s he&#039;s talking about.</description>
		<content:encoded><![CDATA[<p>You guys&#8230; Whoever doesn&#8217;t see the advantages of OOP is simply not coding OOP. A friend of mine uses classes etc. in PHP and thinks he&#8217;s coding OOP, while he isn&#8217;t at all. He simply uses its syntax, while the logic behind is still procedural. No matter what I&#8217;m telling him, he doesn&#8217;t want to understand. Basically if you believe that procedural is as good as OOP, I&#8217;m pretty sure you&#8217;ll never reach the point where you&#8217;ll understand real OOP and see the advantages of it. Sorry guys.</p>
<p>I&#8217;ll give a simple example before I leave, even though I don&#8217;t think it will change anything since most people above me simply don&#8217;t have the level.</p>
<p>10 years ago, pretty much all websites were big HTML tables to position their stuff. Then comes css&#8230; Now you still have idiots who tells you that you can do the same with tables etc&#8230;. But ye&#8230; No serious website doesn&#8217;t use css. Yes you have to learn how it works, but I think we can all agree that it is worth it. Same goes with OOP, only problem&#8230; you can learn css in a few hours, OOP takes years to master. A web application is relatively simple and small compared to other stuff, that&#8217;s the only reason why procedural is even possible. </p>
<p>Now do whatever you want, but believe me on one thing: If somebody tells you that procedural is better, he simply never reached the level to actually understand what&#8217;s he&#8217;s talking about.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by Michael</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-24718</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Tue, 22 Nov 2011 21:33:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-24718</guid>
		<description>While this article seems to have elicited some polarizing views, the truth is that there is a place for both OO and procedural PHP. And a &quot;good&quot; programmer would know when to use one instead of the other.

Someone wrote:
&quot;OOP is for people who can’t properly engineer software or for competent programmers who are involved in very large or complex non-web project.&quot;

I am guessing the person who wrote that comment has never had to develop a large scalable reusable web platform. 

Someone else wrote:
&quot;It is very easy for OO programmers to pretend they are producing quality code, whereas in fact they are programming an infectious monster that does not offer any or many opportunities for elegant re-use outside of the initial problem domain. This is the case a large percentage of the time with most OO PHP programmers.&quot;

I&#039;m sorry that has been YOUR experience. However, saying something like it&#039;s the &quot;LARGE percentage of the time with MOST OO PHP programmers&quot; would seem to indicate you are somewhat biased on this subject.

My observation is that programmers who started procedurally have great difficulty transitioning to OOP, simple because the thought process is very different. And the responses in this thread seem to support that notion, as the ones railing against OOP talk about 30 and 10 years of experience. In my current job, I am cleaning up a previous developers work, who had 30 years of experience, because he wrote a completely new &quot;procedural&quot; style system to do all the work that extending one class could have done. It took me less time to extend the class than it did to delete his work.

And, anyone who claims they can build &quot;just as powerful a framework&quot; in procedural style code is either writing an incredibly bloated code base, or is simply lying. 

And using the worst examples of code i.e embedded HTML inside a class, is not an unbiased argument either, as I&#039;ve seen far more embedded HTML in procedural functions than in any OO classes. So it goes both ways, there are horrible examples of both styles.

The reality is, if you want to be a good programmer, you need to learn OOP, and you need to learn it well, because, as someone else wrote - &quot;that is the future.&quot; In fact, there are even arguments that PHP should be compiled, which perhaps will eliminate some developers who really shouldn&#039;t be programming in the first place.

Learn OOP, learn procedural. Use whichever approach is best for the job. Arguing that one is superior or one is inferior just indicates you really aren&#039;t a good programmer.</description>
		<content:encoded><![CDATA[<p>While this article seems to have elicited some polarizing views, the truth is that there is a place for both OO and procedural PHP. And a &#8220;good&#8221; programmer would know when to use one instead of the other.</p>
<p>Someone wrote:<br />
&#8220;OOP is for people who can’t properly engineer software or for competent programmers who are involved in very large or complex non-web project.&#8221;</p>
<p>I am guessing the person who wrote that comment has never had to develop a large scalable reusable web platform. </p>
<p>Someone else wrote:<br />
&#8220;It is very easy for OO programmers to pretend they are producing quality code, whereas in fact they are programming an infectious monster that does not offer any or many opportunities for elegant re-use outside of the initial problem domain. This is the case a large percentage of the time with most OO PHP programmers.&#8221;</p>
<p>I&#8217;m sorry that has been YOUR experience. However, saying something like it&#8217;s the &#8220;LARGE percentage of the time with MOST OO PHP programmers&#8221; would seem to indicate you are somewhat biased on this subject.</p>
<p>My observation is that programmers who started procedurally have great difficulty transitioning to OOP, simple because the thought process is very different. And the responses in this thread seem to support that notion, as the ones railing against OOP talk about 30 and 10 years of experience. In my current job, I am cleaning up a previous developers work, who had 30 years of experience, because he wrote a completely new &#8220;procedural&#8221; style system to do all the work that extending one class could have done. It took me less time to extend the class than it did to delete his work.</p>
<p>And, anyone who claims they can build &#8220;just as powerful a framework&#8221; in procedural style code is either writing an incredibly bloated code base, or is simply lying. </p>
<p>And using the worst examples of code i.e embedded HTML inside a class, is not an unbiased argument either, as I&#8217;ve seen far more embedded HTML in procedural functions than in any OO classes. So it goes both ways, there are horrible examples of both styles.</p>
<p>The reality is, if you want to be a good programmer, you need to learn OOP, and you need to learn it well, because, as someone else wrote &#8211; &#8220;that is the future.&#8221; In fact, there are even arguments that PHP should be compiled, which perhaps will eliminate some developers who really shouldn&#8217;t be programming in the first place.</p>
<p>Learn OOP, learn procedural. Use whichever approach is best for the job. Arguing that one is superior or one is inferior just indicates you really aren&#8217;t a good programmer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by Landon Poburan</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-23299</link>
		<dc:creator>Landon Poburan</dc:creator>
		<pubDate>Wed, 02 Nov 2011 19:56:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-23299</guid>
		<description>I think it more so comes down to the programmer/developer. If the person doing the work is talented, they can get the job down right using either!</description>
		<content:encoded><![CDATA[<p>I think it more so comes down to the programmer/developer. If the person doing the work is talented, they can get the job down right using either!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Procedural vs Object Oriented PHP Programming by scanmaster</title>
		<link>http://www.debugmagazine.com/freelancing-tips-tricks/procedural-vs-object-oriented-php-programming#comment-23292</link>
		<dc:creator>scanmaster</dc:creator>
		<pubDate>Wed, 02 Nov 2011 18:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.debugmagazine.com/?p=32#comment-23292</guid>
		<description>I&#039;ve been programming 30 years and had a few goes at OOP but always go with procedural in the end for websites. It does what I want and is ENJOYABLE to program in. I think that is the main thing... if I didn&#039;t enjoy it I wouldn&#039;t be doing it and perhaps I&#039;m just too old to change but OOP does my head in!</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been programming 30 years and had a few goes at OOP but always go with procedural in the end for websites. It does what I want and is ENJOYABLE to program in. I think that is the main thing&#8230; if I didn&#8217;t enjoy it I wouldn&#8217;t be doing it and perhaps I&#8217;m just too old to change but OOP does my head in!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

