<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Draakwired &#187; PHP</title>
	<atom:link href="http://drakonen.com/category/tech/programming/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://drakonen.com</link>
	<description>Here be Dragons  -  Drakonen&#039;s Blog</description>
	<lastBuildDate>Tue, 20 Mar 2012 23:18:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>The curse called PHP</title>
		<link>http://drakonen.com/2006/the-curse-called-php/</link>
		<comments>http://drakonen.com/2006/the-curse-called-php/#comments</comments>
		<pubDate>Mon, 27 Nov 2006 15:56:44 +0000</pubDate>
		<dc:creator>Drakonen</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://drakonen.digigen.nl/blog/?p=39</guid>
		<description><![CDATA[PHP is a bad piece of software. It has too many bugs, some which cause great security risks in production software. My last weird bug with php was with GD. I use Gallery2 for my pictures, and with my new camera it failed misserably. The tumbnails were generted perfectly, but when trying to view a [...]]]></description>
			<content:encoded><![CDATA[<p>PHP is a <em>bad piece of software</em>. It has too many bugs, some which cause great <a href="http://secunia.com/search/?search=php" onclick="pageTracker._trackPageview('/outgoing/secunia.com/search/?search=php&amp;referer=');"> security</a> risks in production software.<br />
My last weird bug with php was with <a href="http://nl3.php.net/gd" onclick="pageTracker._trackPageview('/outgoing/nl3.php.net/gd?referer=');">GD</a>. I use <a href="http://www.gallery2.org/" onclick="pageTracker._trackPageview('/outgoing/www.gallery2.org/?referer=');">Gallery2</a> for my pictures, and with my new camera it failed misserably. The tumbnails were generted perfectly, but when trying to view a photo, gallery2 served me a perfectly blank page. Switching galery2 to use <a href="http://www.imagemagick.org/script/index.php" onclick="pageTracker._trackPageview('/outgoing/www.imagemagick.org/script/index.php?referer=');">imagemagick</a> instead of GD fixed it.</p>
<p>PHP is <em>not developer friendly</em> and does not encourage a good design of your software. That said, PHP is a very newbie friendly language, but eventually you will run into some weirdness of php.</p>
<p>PHP is <em>legacy software</em>. it is full of backwards compatability, that does not even work for some things.</p>
<p>PHP is <em>designed badly</em> and the language is <em>full of hacks</em> to add functionality it should have had ages ago. Take exceptions for example, they were added in php5, but they have very little use for the built-in php functions. Just a few use them.<br />
An other good example of bad design; PHP does <em>not know libaries</em> in its main distribution. Every function is availlable at any time in PHP. This may seem like a thing that&#8217;s very handy, you&#8217;ll never have to import a specific library to do your things, but actually it is a curse. An example, you made your own scandir function a long time ago. As PHP &#8220;progressed&#8221;, the function scandir was added to the builtin functions. Great, but your script just broke. PHP does not allow you to redefine a built-in function. If this function was added to a library, there would not have been a problem.<br />
The lack of namespaces is a big problem, new functions need <em>weird names</em> to avoid conflicts with older ones. The default (and only?) namespace is <em>too huge</em>.<br />
PHP <em>lacks modules</em>. You have to <em>recompile php</em> entirely to add a feature. Besides the time it takes to compile, sysadmins wont be all to happy about maintaining own packages. Every tiny update requires a complete rebuild of PHP. Why do you even want all available function available to you all the time?</p>
<p>PHP had its best time. Avoid PHP if you can, learn <a href="http://www.python.org/" onclick="pageTracker._trackPageview('/outgoing/www.python.org/?referer=');">Python</a>, <a href="http://www.ruby-lang.org/" onclick="pageTracker._trackPageview('/outgoing/www.ruby-lang.org/?referer=');">Ruby</a> or even <font size="1"> <a href="http://www.mono-project.com/Main_Page" onclick="pageTracker._trackPageview('/outgoing/www.mono-project.com/Main_Page?referer=');">c#</a></font>.</p>
]]></content:encoded>
			<wfw:commentRss>http://drakonen.com/2006/the-curse-called-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

