<?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 on: Being everywhere is a killer feature</title>
	<atom:link href="http://www.obsceneart.com/?feed=rss2&#038;p=27" rel="self" type="application/rss+xml" />
	<link>http://www.obsceneart.com/?p=27</link>
	<description></description>
	<lastBuildDate>Wed, 15 Oct 2008 09:06:25 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: tellef</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1826</link>
		<dc:creator>tellef</dc:creator>
		<pubDate>Sat, 28 Jul 2007 00:43:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1826</guid>
		<description>I dont do any programming at all in any web-language. The only thing i program are humans that do work on machines. I read joe`s blog because he is a good writer. And the way the web looks I think it is safe to say that good writers are even fewer than good programmers...php or not :) 

The popularity issue is good, it fits with many issues i think.</description>
		<content:encoded><![CDATA[<p>I dont do any programming at all in any web-language. The only thing i program are humans that do work on machines. I read joe`s blog because he is a good writer. And the way the web looks I think it is safe to say that good writers are even fewer than good programmers&#8230;php or not <img src='http://www.obsceneart.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>The popularity issue is good, it fits with many issues i think.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Coder</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1590</link>
		<dc:creator>Coder</dc:creator>
		<pubDate>Thu, 28 Jun 2007 19:29:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1590</guid>
		<description>I am only really used to PHP but you make a good point.</description>
		<content:encoded><![CDATA[<p>I am only really used to PHP but you make a good point.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Halstead</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1082</link>
		<dc:creator>Nick Halstead</dc:creator>
		<pubDate>Fri, 11 May 2007 16:18:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1082</guid>
		<description>Hi Joe,

You gave me a topic for my latest post :) I did a kind of followup with why PHP is still very much alive (in my opinion),  have a read here - http://blog.assembleron.com/2007/05/11/10-reasons-why-php-is-still-very-much-alive/ am sure you will have something to say in response :)</description>
		<content:encoded><![CDATA[<p>Hi Joe,</p>
<p>You gave me a topic for my latest post <img src='http://www.obsceneart.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I did a kind of followup with why PHP is still very much alive (in my opinion),  have a read here &#8211; <a href="http://blog.assembleron.com/2007/05/11/10-reasons-why-php-is-still-very-much-alive/" rel="nofollow">http://blog.assembleron.com/2007/05/11/10-reasons-why-php-is-still-very-much-alive/</a> am sure you will have something to say in response <img src='http://www.obsceneart.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Programming and Management Blog &#187; 10 Reasons why PHP is still very much alive</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1078</link>
		<dc:creator>The Programming and Management Blog &#187; 10 Reasons why PHP is still very much alive</dc:creator>
		<pubDate>Fri, 11 May 2007 10:15:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1078</guid>
		<description>[...] would like to thank Joe over at Obscene Art and Chris at @TheKeyboard for giving me inspiration to write this post. Tags php [...]</description>
		<content:encoded><![CDATA[<p>[...] would like to thank Joe over at Obscene Art and Chris at @TheKeyboard for giving me inspiration to write this post. Tags php [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1077</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Fri, 11 May 2007 08:52:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1077</guid>
		<description>Hey Nick,

Exactly.  You see, we actually agree on a lot more than we disagree on.  ;-)

Though I do have to point out that it&#039;s the __call, __set, and __get convention that I find ugly about PHP objects (and Perl and Python, though they use different keywords and syntax and Python gets it closer to right than PHP or Perl).  It is, as I&#039;ve said, bolted-on.  It&#039;s not the natural way to write code in the language, and it therefore is always a point of friction.  If you spend a few hours with Ruby or Smalltalk, you&#039;ll see what I mean about objects--if they are a core part of the language you don&#039;t need keywords or extra syntax to work with objects.  Everything is an object, therefore you don&#039;t have to spend a lot of time telling the interpreter that you&#039;re building an object!  That&#039;s why PHP objects are ugly.

Functional constructs in PHP are also close to non-existent, though I did find while researching one of my responses here that it does apparently support closures and anonymous functions.  I&#039;ve never seen them used in any PHP code I&#039;ve seen, and I couldn&#039;t find a good example of the syntax and usage, but it&#039;s probably a start, anyway.  We use functional constructs in our perl code quite a lot (map, in particular is really useful in the tasks we do and provides a very natural way to work with the data we deal with).  Googling for functional techniques in PHP reveals very very little...so it seems to be a completely ignored paradigm.  That&#039;s a big negative in my view.</description>
		<content:encoded><![CDATA[<p>Hey Nick,</p>
<p>Exactly.  You see, we actually agree on a lot more than we disagree on.  <img src='http://www.obsceneart.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Though I do have to point out that it&#8217;s the __call, __set, and __get convention that I find ugly about PHP objects (and Perl and Python, though they use different keywords and syntax and Python gets it closer to right than PHP or Perl).  It is, as I&#8217;ve said, bolted-on.  It&#8217;s not the natural way to write code in the language, and it therefore is always a point of friction.  If you spend a few hours with Ruby or Smalltalk, you&#8217;ll see what I mean about objects&#8211;if they are a core part of the language you don&#8217;t need keywords or extra syntax to work with objects.  Everything is an object, therefore you don&#8217;t have to spend a lot of time telling the interpreter that you&#8217;re building an object!  That&#8217;s why PHP objects are ugly.</p>
<p>Functional constructs in PHP are also close to non-existent, though I did find while researching one of my responses here that it does apparently support closures and anonymous functions.  I&#8217;ve never seen them used in any PHP code I&#8217;ve seen, and I couldn&#8217;t find a good example of the syntax and usage, but it&#8217;s probably a start, anyway.  We use functional constructs in our perl code quite a lot (map, in particular is really useful in the tasks we do and provides a very natural way to work with the data we deal with).  Googling for functional techniques in PHP reveals very very little&#8230;so it seems to be a completely ignored paradigm.  That&#8217;s a big negative in my view.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Halstead</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1074</link>
		<dc:creator>Nick Halstead</dc:creator>
		<pubDate>Fri, 11 May 2007 07:42:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1074</guid>
		<description>I do agree that yes there are lots of projects and still developers out there using VERY bad practices when using PHP. And that database access is certainly one of them, with PHP 5.1 and the inclusion of PDO things have improved a lot. But I guess there are still a large % of developers that probably reading this would go, PDO.. err what? 

On top of that you have things like the Zend Framework which has further DB abstraction (and on top of the PDO). In fact the Zend Framework model is one of the nicest I have worked with for a long time. 

I am not familiar enough with the nitty gritty of Ruby to argue with the everything-is-an-object way of doing things. But I would in PHP defence say that with its magic keywords __call, __set,__get allow you to make a class act in any way you desire. 

Yes PHP does have a lot of inconsistencies, especially in some of the parameter orderings for various string handlers (shudder). But these things can be forgiven, and I have come across similar problems in every other language I have programmed in.

I certainly wouldnt compare Java to anything as I hate Java, I was just making the point that bad coders = bad code. Which you have already agreed with.

So to summarise, PHP is in a difficult situation of too much success for bad reasons, and it is going to be difficult to extract itself from this position which is why adoption for PHP 5 is not higher (current around 17%) and we may have the embarrassing position that PHP 6 could be with us before most web hosts move to 5.</description>
		<content:encoded><![CDATA[<p>I do agree that yes there are lots of projects and still developers out there using VERY bad practices when using PHP. And that database access is certainly one of them, with PHP 5.1 and the inclusion of PDO things have improved a lot. But I guess there are still a large % of developers that probably reading this would go, PDO.. err what? </p>
<p>On top of that you have things like the Zend Framework which has further DB abstraction (and on top of the PDO). In fact the Zend Framework model is one of the nicest I have worked with for a long time. </p>
<p>I am not familiar enough with the nitty gritty of Ruby to argue with the everything-is-an-object way of doing things. But I would in PHP defence say that with its magic keywords __call, __set,__get allow you to make a class act in any way you desire. </p>
<p>Yes PHP does have a lot of inconsistencies, especially in some of the parameter orderings for various string handlers (shudder). But these things can be forgiven, and I have come across similar problems in every other language I have programmed in.</p>
<p>I certainly wouldnt compare Java to anything as I hate Java, I was just making the point that bad coders = bad code. Which you have already agreed with.</p>
<p>So to summarise, PHP is in a difficult situation of too much success for bad reasons, and it is going to be difficult to extract itself from this position which is why adoption for PHP 5 is not higher (current around 17%) and we may have the embarrassing position that PHP 6 could be with us before most web hosts move to 5.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1071</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Thu, 10 May 2007 23:25:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1071</guid>
		<description>Hey Nick,

Thanks for your comments.  I&#039;ve answered all of your points in previous comments, so I won&#039;t re-iterate in detail here.  All of my assertions are about PHP5.  I&#039;ve never used anything else.

Some of my statements are about common practice, and I believe I&#039;ve made that clear.  For example, my problem with database usage in PHP is pretty much entirely because people are still using the stupid PHP 3 functions to access databases.  I specifically mentioned the solutions to that problem above, but the existence of a good way doesn&#039;t alter the fact that the vast majority of code is written the wrong way even today.

But, there are also significant issues with the language:

- PHP objects are in no way comparable to the everything-is-an-object design of Ruby.  (To be fair, neither are Perl or Python objects.)

- PHP has an inconsistent standard library.

- PHP has inconsistent and wrong-headed syntax.  Example: ==, ===, false vs. null.  This, to me, is indicative of ad hoc, and not very carefully considered, design.

Finally, I&#039;m sure your code is beautiful.  No need to imagine I&#039;m speaking about you specifically.  You could, in fact, be one of those &quot;coolest developers working in the field&quot;.  I wouldn&#039;t think someone in that category would be so sensitive, but it could happen, I guess.

Oh, yeah, I&#039;m not sure why you would want to compare PHP to Java...Java is even worse, but for very different reasons.  And the involvement of IBM, Oracle and BEA is for the same reason they got involved in Java: Popularity.  The more users there are, the more money there is to be made on tools and consultants for the language.  Very simple math.  It&#039;s the same reason I say that we mostly ought to be writing our small installable web applications in PHP.</description>
		<content:encoded><![CDATA[<p>Hey Nick,</p>
<p>Thanks for your comments.  I&#8217;ve answered all of your points in previous comments, so I won&#8217;t re-iterate in detail here.  All of my assertions are about PHP5.  I&#8217;ve never used anything else.</p>
<p>Some of my statements are about common practice, and I believe I&#8217;ve made that clear.  For example, my problem with database usage in PHP is pretty much entirely because people are still using the stupid PHP 3 functions to access databases.  I specifically mentioned the solutions to that problem above, but the existence of a good way doesn&#8217;t alter the fact that the vast majority of code is written the wrong way even today.</p>
<p>But, there are also significant issues with the language:</p>
<p>- PHP objects are in no way comparable to the everything-is-an-object design of Ruby.  (To be fair, neither are Perl or Python objects.)</p>
<p>- PHP has an inconsistent standard library.</p>
<p>- PHP has inconsistent and wrong-headed syntax.  Example: ==, ===, false vs. null.  This, to me, is indicative of ad hoc, and not very carefully considered, design.</p>
<p>Finally, I&#8217;m sure your code is beautiful.  No need to imagine I&#8217;m speaking about you specifically.  You could, in fact, be one of those &#8220;coolest developers working in the field&#8221;.  I wouldn&#8217;t think someone in that category would be so sensitive, but it could happen, I guess.</p>
<p>Oh, yeah, I&#8217;m not sure why you would want to compare PHP to Java&#8230;Java is even worse, but for very different reasons.  And the involvement of IBM, Oracle and BEA is for the same reason they got involved in Java: Popularity.  The more users there are, the more money there is to be made on tools and consultants for the language.  Very simple math.  It&#8217;s the same reason I say that we mostly ought to be writing our small installable web applications in PHP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Halstead</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1070</link>
		<dc:creator>Nick Halstead</dc:creator>
		<pubDate>Thu, 10 May 2007 22:30:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1070</guid>
		<description>I am afraid you have zero clue about PHP. You talk about it as though we are still using PHP 3, Bad PHP code is written by bad PHP coders, bad Java is written by bad Java coders.

You state that &#039;PHP is hard to maintain&#039;? But give no justification for this statement. You are obviously completely unaware of the abilities of PHP 5. Which now has all the class inheritance, abstraction / interfaces / reflection that any other modern (ruby included) has. 

I have in the last two years worked on several massive PHP projects with thousands of classes and hundreds of thousands of files and code maintenance has been no different than any other programming language. 

The fact that so many of the large players IBM/Oracle/BEA all now getting in bed with PHP it shows that they all want to be apart of the future of PHP. 

I suggest you get your facts straight before you post such rubbish in the future.</description>
		<content:encoded><![CDATA[<p>I am afraid you have zero clue about PHP. You talk about it as though we are still using PHP 3, Bad PHP code is written by bad PHP coders, bad Java is written by bad Java coders.</p>
<p>You state that &#8216;PHP is hard to maintain&#8217;? But give no justification for this statement. You are obviously completely unaware of the abilities of PHP 5. Which now has all the class inheritance, abstraction / interfaces / reflection that any other modern (ruby included) has. </p>
<p>I have in the last two years worked on several massive PHP projects with thousands of classes and hundreds of thousands of files and code maintenance has been no different than any other programming language. </p>
<p>The fact that so many of the large players IBM/Oracle/BEA all now getting in bed with PHP it shows that they all want to be apart of the future of PHP. </p>
<p>I suggest you get your facts straight before you post such rubbish in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tufty</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1067</link>
		<dc:creator>Tufty</dc:creator>
		<pubDate>Thu, 10 May 2007 19:00:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1067</guid>
		<description>PHP does have a lot to answer for. I use it for my work, where I&#039;ve seen EXACTLY the sort of things you talk about here (it&#039;s something I&#039;m gradually pushing to change, but 5+ years of entrenched code that works, despite being ugly, takes some fixing).

Yet, I also choose to use it at home, and for my personal sites. Part of that reason is the fact that it&#039;s everywhere - it was no problem finding hosting for a sensible price (I got 4 years for £110). The other reason is that, correctly used, PHP _can_ be as beautiful as the other languages. To emphasise that point I use CakePHP, a RoR-like MVC framework, and I find myself more than satisfied with the results.

Don&#039;t look at the majority of existing PHP applications to judge the quality of code. WordPress has awful code behind the scenes, for example - which is probably why it&#039;s only in recent releases that they&#039;ve reduced the number of exploits possible.

In summary, I agree with you pretty much completely!</description>
		<content:encoded><![CDATA[<p>PHP does have a lot to answer for. I use it for my work, where I&#8217;ve seen EXACTLY the sort of things you talk about here (it&#8217;s something I&#8217;m gradually pushing to change, but 5+ years of entrenched code that works, despite being ugly, takes some fixing).</p>
<p>Yet, I also choose to use it at home, and for my personal sites. Part of that reason is the fact that it&#8217;s everywhere &#8211; it was no problem finding hosting for a sensible price (I got 4 years for £110). The other reason is that, correctly used, PHP _can_ be as beautiful as the other languages. To emphasise that point I use CakePHP, a RoR-like MVC framework, and I find myself more than satisfied with the results.</p>
<p>Don&#8217;t look at the majority of existing PHP applications to judge the quality of code. WordPress has awful code behind the scenes, for example &#8211; which is probably why it&#8217;s only in recent releases that they&#8217;ve reduced the number of exploits possible.</p>
<p>In summary, I agree with you pretty much completely!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>http://www.obsceneart.com/?p=27&#038;cpage=1#comment-1066</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Thu, 10 May 2007 17:54:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.obsceneart.com/?p=27#comment-1066</guid>
		<description>Hey Victor,

&quot;bad bad PHP… or bad bad developers?&quot;

A little of both.</description>
		<content:encoded><![CDATA[<p>Hey Victor,</p>
<p>&#8220;bad bad PHP… or bad bad developers?&#8221;</p>
<p>A little of both.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
