<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Thoughts on PHP</title>
	<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html</link>
	<description>20 minutes into the future...</description>
	<pubDate>Fri, 08 Aug 2008 18:42:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: James Bennett</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20690</link>
		<dc:creator>James Bennett</dc:creator>
		<pubDate>Tue, 20 Mar 2007 02:34:56 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20690</guid>
		<description>&lt;p&gt;I think there are a lot of folks these days who'd disagree on the availability of good Python web frameworks; we now have an embarrassment of riches in that department (witness all the framework and web-dev talks at PyCon this year, for example).&lt;/p&gt;

&lt;p&gt;Templating's a solved problem these days, too -- there are template systems on all parts of the spectrum, from minimal or no "raw" code in the template to pure Python and everything in between. Maybe it's time you had another look?&lt;/p&gt;

&lt;p&gt;As for YouTube being "simple", well, it's easy to be dismissive. WordPress is "just a blog", and Wikipedia is "just a CMS with revision history". And they are, but there's a lot more to each of them than that -- don't be too quick to judge these sorts of things.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think there are a lot of folks these days who&#8217;d disagree on the availability of good Python web frameworks; we now have an embarrassment of riches in that department (witness all the framework and web-dev talks at PyCon this year, for example).</p>

<p>Templating&#8217;s a solved problem these days, too &#8212; there are template systems on all parts of the spectrum, from minimal or no &#8220;raw&#8221; code in the template to pure Python and everything in between. Maybe it&#8217;s time you had another look?</p>

<p>As for YouTube being &#8220;simple&#8221;, well, it&#8217;s easy to be dismissive. WordPress is &#8220;just a blog&#8221;, and Wikipedia is &#8220;just a CMS with revision history&#8221;. And they are, but there&#8217;s a lot more to each of them than that &#8212; don&#8217;t be too quick to judge these sorts of things.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Harry Fuecks</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20683</link>
		<dc:creator>Harry Fuecks</dc:creator>
		<pubDate>Tue, 20 Mar 2007 00:40:24 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20683</guid>
		<description>&lt;p&gt;Just an aside - interesting to see that neko gives you the option to have it behave like php - http://nekovm.org/doc/mod&lt;em&gt;neko#script&lt;/em&gt;versus_application - unlike PHP it's not really trying to be a runtime and a language - at least not for human to write in rather it's meant to be generated.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Just an aside - interesting to see that neko gives you the option to have it behave like php - <a href="http://nekovm.org/doc/mod" rel="nofollow">http://nekovm.org/doc/mod</a><em>neko#script</em>versus_application - unlike PHP it&#8217;s not really trying to be a runtime and a language - at least not for human to write in rather it&#8217;s meant to be generated.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: dru</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20681</link>
		<dc:creator>dru</dc:creator>
		<pubDate>Tue, 20 Mar 2007 00:19:17 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20681</guid>
		<description>&lt;p&gt;Hi James,&lt;/p&gt;

&lt;p&gt;I never said that other languages can't do it the same way, so that is not my argument.&lt;/p&gt;

&lt;p&gt;What I said was that the PHP architecture nudges the developer down that path. Zope and all the old 'right way to do it' in python frameworks do not get the user down the right path.&lt;/p&gt;

&lt;p&gt;As far as Python and the web are concerned. I have been a user of Python since 1996 and know it well. Some of the sites I've worked on were based in Python. I wouldn't use it for any future web projects unless the project was already done/built.&lt;/p&gt;

&lt;p&gt;Why? The language never had a good web framework. The need to cobble together packages and the lack of a Gems/CPAN like system has hurt Python IMHO. The final thing to consider is the whole whitespace syntax problem. It is hard to template with Python.&lt;/p&gt;

&lt;p&gt;Also, YouTube is a great site, but it is a simple site. They could have just as easily built it in Ruby.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi James,</p>

<p>I never said that other languages can&#8217;t do it the same way, so that is not my argument.</p>

<p>What I said was that the PHP architecture nudges the developer down that path. Zope and all the old &#8216;right way to do it&#8217; in python frameworks do not get the user down the right path.</p>

<p>As far as Python and the web are concerned. I have been a user of Python since 1996 and know it well. Some of the sites I&#8217;ve worked on were based in Python. I wouldn&#8217;t use it for any future web projects unless the project was already done/built.</p>

<p>Why? The language never had a good web framework. The need to cobble together packages and the lack of a Gems/CPAN like system has hurt Python IMHO. The final thing to consider is the whole whitespace syntax problem. It is hard to template with Python.</p>

<p>Also, YouTube is a great site, but it is a simple site. They could have just as easily built it in Ruby.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: James Bennett</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20678</link>
		<dc:creator>James Bennett</dc:creator>
		<pubDate>Mon, 19 Mar 2007 23:53:19 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20678</guid>
		<description>&lt;p&gt;I don't buy the scalability argument, at least not in the over-broad sense you're using. I work in Python, and the same "shared nothing" architecture works just as well there, you've got mod_python and you can scale just as easily; you can slap load balancers out front, database pooling out back and just as many web nodes as you'd like in between.&lt;/p&gt;

&lt;p&gt;And if you need name-dropping: &lt;a href="http://youtube.com/" rel="nofollow"&gt;here's&lt;/a&gt; a site which does a fair bit of traffic and is powered by Python.&lt;/p&gt;

&lt;p&gt;I don't know Ruby or Rails as well as I know Python, but it seems like the same approach would work in pretty much any language.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I don&#8217;t buy the scalability argument, at least not in the over-broad sense you&#8217;re using. I work in Python, and the same &#8220;shared nothing&#8221; architecture works just as well there, you&#8217;ve got mod_python and you can scale just as easily; you can slap load balancers out front, database pooling out back and just as many web nodes as you&#8217;d like in between.</p>

<p>And if you need name-dropping: <a href="http://youtube.com/" rel="nofollow">here&#8217;s</a> a site which does a fair bit of traffic and is powered by Python.</p>

<p>I don&#8217;t know Ruby or Rails as well as I know Python, but it seems like the same approach would work in pretty much any language.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jack Herrington</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20547</link>
		<dc:creator>Jack Herrington</dc:creator>
		<pubDate>Sun, 18 Mar 2007 12:10:55 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20547</guid>
		<description>&lt;p&gt;WPF/E is a lot lighter weight than you can imagine. It's like Flash, but all of the scripting stuff is pushed back into the browsers Javascript mechanism. So you can do SOAP, or XML/RPC, to get data, just as you would with standard Ajax. Or you could use JSON or anything else you like.&lt;/p&gt;

&lt;p&gt;Unlike Flash, where browser integration is more like an afterthought, with WPF/E the browser is a critical component of the design. So you can take your DHTML skills and extend them with WPF/E.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>WPF/E is a lot lighter weight than you can imagine. It&#8217;s like Flash, but all of the scripting stuff is pushed back into the browsers Javascript mechanism. So you can do SOAP, or XML/RPC, to get data, just as you would with standard Ajax. Or you could use JSON or anything else you like.</p>

<p>Unlike Flash, where browser integration is more like an afterthought, with WPF/E the browser is a critical component of the design. So you can take your DHTML skills and extend them with WPF/E.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: dru</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20470</link>
		<dc:creator>dru</dc:creator>
		<pubDate>Sat, 17 Mar 2007 20:24:53 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20470</guid>
		<description>&lt;p&gt;Jack: I wholeheartedly agree with you and Eric.
I'll check out WPF/E. Is there any SOAP or heavy XML-RPC stuff in there?&lt;/p&gt;

&lt;p&gt;Enos, or (should I say my old cube mate): Why ROR? The persistence automation and code generation really makes the default controller and view systems &lt;em&gt;just work&lt;/em&gt;. In essence, you don't have to write any SQL to get a real multi-user database driven application up.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jack: I wholeheartedly agree with you and Eric.
I&#8217;ll check out WPF/E. Is there any SOAP or heavy XML-RPC stuff in there?</p>

<p>Enos, or (should I say my old cube mate): Why ROR? The persistence automation and code generation really makes the default controller and view systems <em>just work</em>. In essence, you don&#8217;t have to write any SQL to get a real multi-user database driven application up.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Enos Cummings</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20460</link>
		<dc:creator>Enos Cummings</dc:creator>
		<pubDate>Sat, 17 Mar 2007 19:53:59 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20460</guid>
		<description>&lt;p&gt;I'll jump in with my thumbs up on using PHP, too.  But I'm curious, Dru, why despite the merits of PHP, you chose ROR (and seemingly do it again if you were to start all over).  What's different at BrightRoll that PHP doesn't fit the bill?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;ll jump in with my thumbs up on using PHP, too.  But I&#8217;m curious, Dru, why despite the merits of PHP, you chose ROR (and seemingly do it again if you were to start all over).  What&#8217;s different at BrightRoll that PHP doesn&#8217;t fit the bill?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jack Herrington</title>
		<link>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20388</link>
		<dc:creator>Jack Herrington</dc:creator>
		<pubDate>Sat, 17 Mar 2007 14:04:41 +0000</pubDate>
		<guid>http://www.xxeo.com/archives/2007/03/16/thoughts-on-php.html#comment-20388</guid>
		<description>&lt;p&gt;I pretty much concur. Eric Rollins says that 'C should be in the hindbrain of every coder'. I think in the same way PHP should be somewhere in the brain of every web programmer. Just because it truly hits the lowest of the low end of web scripting like no other language.&lt;/p&gt;

&lt;p&gt;A good example is when I have to mock up web service test pages. Say some customer has an XML page I need to get some data from. I know the format, but I can't test against it for whatever reason. I can make a PHP page that does that format in about 0.5 milliseconds. Where any other language would take at least thirty minutes or more. Then I can push that page to a hosting site (all of which run PHP) and have a remote test in no time.&lt;/p&gt;

&lt;p&gt;BTW, here is another technical heads up. I've been playing around the WPF/E and it's pretty sweet. I know it's vendor specific, but it's also cool. In addition, from Adobe, Flex 1 was a problem because of pricing and the server model. Flex 2 has fixed all that and is well worth the look.&lt;/p&gt;

&lt;p&gt;And before you say, "Yeah, ok, but not right for my current application". I know that. I'm just giving you a little helpful info for tech developments that may be interesting for later projects.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I pretty much concur. Eric Rollins says that &#8216;C should be in the hindbrain of every coder&#8217;. I think in the same way PHP should be somewhere in the brain of every web programmer. Just because it truly hits the lowest of the low end of web scripting like no other language.</p>

<p>A good example is when I have to mock up web service test pages. Say some customer has an XML page I need to get some data from. I know the format, but I can&#8217;t test against it for whatever reason. I can make a PHP page that does that format in about 0.5 milliseconds. Where any other language would take at least thirty minutes or more. Then I can push that page to a hosting site (all of which run PHP) and have a remote test in no time.</p>

<p>BTW, here is another technical heads up. I&#8217;ve been playing around the WPF/E and it&#8217;s pretty sweet. I know it&#8217;s vendor specific, but it&#8217;s also cool. In addition, from Adobe, Flex 1 was a problem because of pricing and the server model. Flex 2 has fixed all that and is well worth the look.</p>

<p>And before you say, &#8220;Yeah, ok, but not right for my current application&#8221;. I know that. I&#8217;m just giving you a little helpful info for tech developments that may be interesting for later projects.</p>]]></content:encoded>
	</item>
</channel>
</rss>
