<?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/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Comments on: Why Great Development Tools Don&#8217;t Seem To Be Written In PHP</title>
	<atom:link href="http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Thu, 29 Jul 2010 11:09:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Wil Sinclair</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2726</link>
		<dc:creator>Wil Sinclair</dc:creator>
		<pubDate>Wed, 23 Dec 2009 04:29:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2726</guid>
		<description>IMO the biggest reason has been mentioned a few times, but not called out as clearly as it might be: lack of support for threads in PHP. This certainly affects the continuous integration tool and the unit test framework (Java can- and JUnit more often than not does- just start threads for a new, clean environment). You can work around it with system-level events, like cron jobs, but it&#039;s simply not the sweet spot for PHP. PHP does seem to be a natural fit for a web-based bug tracker, however.

I&#039;ll break from the pack a bit on the build/reuse issue. I say there are better wheels out there that have yet to be invented- both figuratively and literally. And with the ease of development afforded by frameworks and tools nowadays, brand spanking new web apps often cost less than adapting existing OSS project to your needs. Building a community around these apps is another matter, however, and that&#039;s really the challenge in an open source app.

IMO you should do what&#039;s best for your personal needs under the assumption that others have those needs, with consideration given to existing project. Maybe the users will come, maybe not. At least you have your tool that gets right to the features that you need. If you want an easy solution, base it on an existing framework. ;)

,Wil</description>
		<content:encoded><![CDATA[<p>IMO the biggest reason has been mentioned a few times, but not called out as clearly as it might be: lack of support for threads in PHP. This certainly affects the continuous integration tool and the unit test framework (Java can- and JUnit more often than not does- just start threads for a new, clean environment). You can work around it with system-level events, like cron jobs, but it&#8217;s simply not the sweet spot for PHP. PHP does seem to be a natural fit for a web-based bug tracker, however.</p>
<p>I&#8217;ll break from the pack a bit on the build/reuse issue. I say there are better wheels out there that have yet to be invented- both figuratively and literally. And with the ease of development afforded by frameworks and tools nowadays, brand spanking new web apps often cost less than adapting existing OSS project to your needs. Building a community around these apps is another matter, however, and that&#8217;s really the challenge in an open source app.</p>
<p>IMO you should do what&#8217;s best for your personal needs under the assumption that others have those needs, with consideration given to existing project. Maybe the users will come, maybe not. At least you have your tool that gets right to the features that you need. If you want an easy solution, base it on an existing framework. ;)</p>
<p>,Wil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Adams</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2689</link>
		<dc:creator>Jon Adams</dc:creator>
		<pubDate>Wed, 16 Dec 2009 05:36:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2689</guid>
		<description>@kiang and anyone else interested: thechaw (http://thechaw.com) is open source as of yesterday (http://thechaw.com/wiki/dev/logs/2009-12-14) ;) - tickets, wiki, web based repo viewers and mangement (git, svn and more -- I noticed svn stuff in the source but we use mainly for git).

You can see it in action at thechaw itself or at http://rad-dev.org (we&#039;ve done some extensive theme-ing there).

I, too, want to see more killer PHP apps around the web. Though, sites like Digg and Facebook prove that some really fantastic sites can be developed with it; php could use more tools and micro-apps pushing the bar in little and big ways. I guess that&#039;s where we all come in. Good luck with whatever you pursue, Brandon.</description>
		<content:encoded><![CDATA[<p>@kiang and anyone else interested: thechaw (<a href="http://thechaw.com" rel="nofollow">http://thechaw.com</a>) is open source as of yesterday (<a href="http://thechaw.com/wiki/dev/logs/2009-12-14" rel="nofollow">http://thechaw.com/wiki/dev/logs/2009-12-14</a>) ;) &#8211; tickets, wiki, web based repo viewers and mangement (git, svn and more &#8212; I noticed svn stuff in the source but we use mainly for git).</p>
<p>You can see it in action at thechaw itself or at <a href="http://rad-dev.org" rel="nofollow">http://rad-dev.org</a> (we&#8217;ve done some extensive theme-ing there).</p>
<p>I, too, want to see more killer PHP apps around the web. Though, sites like Digg and Facebook prove that some really fantastic sites can be developed with it; php could use more tools and micro-apps pushing the bar in little and big ways. I guess that&#8217;s where we all come in. Good luck with whatever you pursue, Brandon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2631</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Tue, 08 Dec 2009 21:05:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2631</guid>
		<description>Jotbug (very alpha, from what I can tell) is currently the only thing I know of that is more like a Trac/Redmine clone in PHP than Mantis is.

http://www.jotbug.org/

Fusionforge and its brethren are PHP, I think, but I&#039;m not sure you&#039;d want to count those.</description>
		<content:encoded><![CDATA[<p>Jotbug (very alpha, from what I can tell) is currently the only thing I know of that is more like a Trac/Redmine clone in PHP than Mantis is.</p>
<p><a href="http://www.jotbug.org/" rel="nofollow">http://www.jotbug.org/</a></p>
<p>Fusionforge and its brethren are PHP, I think, but I&#8217;m not sure you&#8217;d want to count those.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2616</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Tue, 08 Dec 2009 02:04:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2616</guid>
		<description>Paul, that&#039;s been mentioned to me, and writing a bug tracker is first on the list. Should be ready by April 1, if I keep to my schedule.</description>
		<content:encoded><![CDATA[<p>Paul, that&#8217;s been mentioned to me, and writing a bug tracker is first on the list. Should be ready by April 1, if I keep to my schedule.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2615</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Tue, 08 Dec 2009 01:23:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2615</guid>
		<description>Hey Brandon, I don&#039;t know if you read the php.internals list but the subject of a need for an improved bug tracker for PHP has come up. http://news.php.net/php.internals/46344.</description>
		<content:encoded><![CDATA[<p>Hey Brandon, I don&#8217;t know if you read the php.internals list but the subject of a need for an improved bug tracker for PHP has come up. <a href="http://news.php.net/php.internals/46344" rel="nofollow">http://news.php.net/php.internals/46344</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: e-75</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2604</link>
		<dc:creator>e-75</dc:creator>
		<pubDate>Mon, 07 Dec 2009 13:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2604</guid>
		<description>Hi,

one of the biggest problems in PHP community is desire to do something from scratch over and over again. Like some people above said, please join some open source project and share your ideas wit them and community will get a nice tool to use. Another one will be just lost in the ocean of similar unfinished projects.

Thanks,
Ivan</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>one of the biggest problems in PHP community is desire to do something from scratch over and over again. Like some people above said, please join some open source project and share your ideas wit them and community will get a nice tool to use. Another one will be just lost in the ocean of similar unfinished projects.</p>
<p>Thanks,<br />
Ivan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2586</link>
		<dc:creator>James</dc:creator>
		<pubDate>Mon, 07 Dec 2009 03:01:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2586</guid>
		<description>Please don&#039;t reinvent the wheel and contribute something useful.

I&#039;m a Java developer but I don&#039;t expect every development tool I use must be written in Java. I use what&#039;s best in the relevant areas.

I use Trac (Python), Redmine (Ruby on Rails) etc with which I&#039;m fully satisfied.

Do use a IDE which is written on PHP? Do you use a UML modeling tool that is written in PHP?

There are plenty of good apps written in PHP, Python, Java, Ruby etc. Just use what serves you best.</description>
		<content:encoded><![CDATA[<p>Please don&#8217;t reinvent the wheel and contribute something useful.</p>
<p>I&#8217;m a Java developer but I don&#8217;t expect every development tool I use must be written in Java. I use what&#8217;s best in the relevant areas.</p>
<p>I use Trac (Python), Redmine (Ruby on Rails) etc with which I&#8217;m fully satisfied.</p>
<p>Do use a IDE which is written on PHP? Do you use a UML modeling tool that is written in PHP?</p>
<p>There are plenty of good apps written in PHP, Python, Java, Ruby etc. Just use what serves you best.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kiang</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2581</link>
		<dc:creator>kiang</dc:creator>
		<pubDate>Mon, 07 Dec 2009 01:11:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2581</guid>
		<description>Maybe we should say &quot;Why there are so many similar development tools written in php&quot; ;)

http://www.jotbug.org/
http://thechaw.com/candycane ( thechaw is also written in PHP/CakePHP, but not available in public )
http://www.codendi.com/</description>
		<content:encoded><![CDATA[<p>Maybe we should say &#8220;Why there are so many similar development tools written in php&#8221; ;)</p>
<p><a href="http://www.jotbug.org/" rel="nofollow">http://www.jotbug.org/</a><br />
<a href="http://thechaw.com/candycane" rel="nofollow">http://thechaw.com/candycane</a> ( thechaw is also written in PHP/CakePHP, but not available in public )<br />
<a href="http://www.codendi.com/" rel="nofollow">http://www.codendi.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Miles Johnson</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2563</link>
		<dc:creator>Miles Johnson</dc:creator>
		<pubDate>Sun, 06 Dec 2009 08:49:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2563</guid>
		<description>I never said im against OOP. But personally I find it pointless and a waste a time to create abstract and interface classes for everything (ala Zend). Ill stick to getting the exact same functionality done, without needing so many classes and files and still keeping it modular. Personal preference, dont need to go full OOP just for the sake to say its full OOP.

Especially for a &quot;bug tracker&quot;, that is installed on peoples boxes and requires so many dependencies. Something just seems really wrong about that. I can see where OOP would be perfect for large applications and websites, but not for something that should be user installed.</description>
		<content:encoded><![CDATA[<p>I never said im against OOP. But personally I find it pointless and a waste a time to create abstract and interface classes for everything (ala Zend). Ill stick to getting the exact same functionality done, without needing so many classes and files and still keeping it modular. Personal preference, dont need to go full OOP just for the sake to say its full OOP.</p>
<p>Especially for a &#8220;bug tracker&#8221;, that is installed on peoples boxes and requires so many dependencies. Something just seems really wrong about that. I can see where OOP would be perfect for large applications and websites, but not for something that should be user installed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sp2hari</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2562</link>
		<dc:creator>sp2hari</dc:creator>
		<pubDate>Sun, 06 Dec 2009 08:41:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2562</guid>
		<description>I guess wikipedia, wordpress and facebook are written in PHP. Why do you think there aren&#039;t enough apps written in PHP?</description>
		<content:encoded><![CDATA[<p>I guess wikipedia, wordpress and facebook are written in PHP. Why do you think there aren&#8217;t enough apps written in PHP?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2556</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Sun, 06 Dec 2009 03:04:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2556</guid>
		<description>Hey, that&#039;s not cool. There was a time when I didn&#039;t see a point to objects; now I write object-oriented code almost exclusively. It&#039;s crucial that we maintain decorum in various debates about software development; Miles may be incorrect but that&#039;s his prerogative.

Please keep comments polite and on topic.</description>
		<content:encoded><![CDATA[<p>Hey, that&#8217;s not cool. There was a time when I didn&#8217;t see a point to objects; now I write object-oriented code almost exclusively. It&#8217;s crucial that we maintain decorum in various debates about software development; Miles may be incorrect but that&#8217;s his prerogative.</p>
<p>Please keep comments polite and on topic.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Exception e</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2551</link>
		<dc:creator>Exception e</dc:creator>
		<pubDate>Sun, 06 Dec 2009 00:43:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2551</guid>
		<description>@Miles Johnson
You could do it with functional programming (Erlang, F#, Haskell), but *procedural programming* is a no-no. OOP isn&#039;t the only paradigm.
But I think what you are proposing is the procedural clutter as can be found in phpmyadmin etc. For this there is no defense.</description>
		<content:encoded><![CDATA[<p>@Miles Johnson<br />
You could do it with functional programming (Erlang, F#, Haskell), but *procedural programming* is a no-no. OOP isn&#8217;t the only paradigm.<br />
But I think what you are proposing is the procedural clutter as can be found in phpmyadmin etc. For this there is no defense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Les</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2548</link>
		<dc:creator>Les</dc:creator>
		<pubDate>Sat, 05 Dec 2009 22:57:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2548</guid>
		<description>&gt; abstract, or an interface, or have it split into smaller objects.

Well, yes it does :) 

If you want superior software then you use the standard and that (just) happens to be object oriented methodologies.

Drop object oriented methodologies and you drop way too many other natural benefits to software development; so enough of your bullsh*t okay?</description>
		<content:encoded><![CDATA[<p>&gt; abstract, or an interface, or have it split into smaller objects.</p>
<p>Well, yes it does :) </p>
<p>If you want superior software then you use the standard and that (just) happens to be object oriented methodologies.</p>
<p>Drop object oriented methodologies and you drop way too many other natural benefits to software development; so enough of your bullsh*t okay?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Miles Johnson</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2547</link>
		<dc:creator>Miles Johnson</dc:creator>
		<pubDate>Sat, 05 Dec 2009 22:41:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2547</guid>
		<description>@Herman - Hah! Well of course it is, but I personally find it pointless. When the same can be done non-oop. Not everything needs an abstract, or an interface, or have it split into smaller objects.</description>
		<content:encoded><![CDATA[<p>@Herman &#8211; Hah! Well of course it is, but I personally find it pointless. When the same can be done non-oop. Not everything needs an abstract, or an interface, or have it split into smaller objects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Exception e</title>
		<link>http://www.brandonsavage.net/why-great-development-tools-dont-seem-to-be-written-in-php/#comment-2537</link>
		<dc:creator>Exception e</dc:creator>
		<pubDate>Sat, 05 Dec 2009 14:14:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1067#comment-2537</guid>
		<description>I&#039;ve looked into the source code, and it seems to be based on ezc.

Not totally convinced. E.g &quot;classes\framework\base.php&quot; tries to outsmart the php opcode cacher. This is a big no-no.

I tried to find the class &quot;arbitController&quot; and had a very hard hard time to locate it. Finally i found it in &quot;classes\controller\base.php&quot; :O

It seems that the model (e.g. class &quot;arbitModelProject&quot;) handles storage responsibilities too.

The code is clean and well documented, but the separation of concerns are likely suboptimal. But compared to projects like phpmyadmin this is a giant leap forward.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve looked into the source code, and it seems to be based on ezc.</p>
<p>Not totally convinced. E.g &#8220;classes\framework\base.php&#8221; tries to outsmart the php opcode cacher. This is a big no-no.</p>
<p>I tried to find the class &#8220;arbitController&#8221; and had a very hard hard time to locate it. Finally i found it in &#8220;classes\controller\base.php&#8221; :O</p>
<p>It seems that the model (e.g. class &#8220;arbitModelProject&#8221;) handles storage responsibilities too.</p>
<p>The code is clean and well documented, but the separation of concerns are likely suboptimal. But compared to projects like phpmyadmin this is a giant leap forward.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk (feed is rejected)
Page Caching using apc (user agent is rejected)
Database Caching 47/51 queries in 0.010 seconds using disk
Content Delivery Network via Amazon Web Services: S3: files.brandonsavage.net.s3.amazonaws.com

Served from: www.brandonsavage.net @ 2010-07-31 10:49:46 -->