<?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: In Response to &#8216;Where did all the PHP developers go?&#8217;</title>
	<atom:link href="http://www.oneangrydwarf.co.uk/web/in-response-to-where-did-all-the-php-developers-go/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oneangrydwarf.co.uk/web/in-response-to-where-did-all-the-php-developers-go/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Tue, 06 Jan 2009 01:30:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Alastair Smith</title>
		<link>http://www.oneangrydwarf.co.uk/web/in-response-to-where-did-all-the-php-developers-go/comment-page-1/#comment-119</link>
		<dc:creator>Alastair Smith</dc:creator>
		<pubDate>Fri, 06 Jun 2008 15:49:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.oneangrydwarf.co.uk/uncategorized/in-response-to-where-did-all-the-php-developers-go/#comment-119</guid>
		<description>Hi Tim

My apologies if I misled you into thinking that I was trying to start a flame war; it wasn't my intention either! :)  In the spirit of healthy debate, though, I shall attempt to address your comments also.  

Firstly, I haven't done any real development in PHP since the summer of 2006; the only things I've done since then are CLI PHP (for cron jobs for the 4YP) and the help web service for the 4YP, none of which I'd call proper development (I hacked the web service together having got a small understanding of the Mediawiki API).  I'm sure things have moved on since then, and things like PDO, etc., in the 5.2 releases of PHP were a huge step forward and I'll try and get round to trying them out at some point (I'm trying to build my C#/.NET skills at the moment, because application development interests me more than web development these days).  I never tried using one of the PHP frameworks like CakePHP or Zend because I didn't know (enough) about them at the time, although I have made use of PEAR libraries in the past to make life easier for me (e.g., the XML-RPC library or whatever it was that I used for the help web service).  

My point was, though, that Java and .NET provide the framework *as part of the package*; what's to stop PHP distributing CakePHP or PEAR/PECL as part of the package, particularly given the whole OSS thing?  All you then need is a half-decent IDE that will do autocompletion, etc., for the framework as well as your own code, and you've got an experience similar to that of Visual Studio or the Java IDEs.  I don't count Zend here, because it's not freely available the way PHP is; I feel that the framework and the IDE are there to support the language, and so should be available under the same restrictions.  

Additionally, I recognise that PHP scales well; Wikipedia and Facebook are both PHP-based.  My comment about the types of companies employing PHP developers was a bit misguided, I admit; it could easily be possible that the difficulties recruiting PHP developers are due entirely to the fact that all the good PHP developers are working at Yahoo!, Facebook, etc.  For example, Citrix bought the open source server virtualisation outfit, XenSource, last year, and XenSource use OCaml (a functional language much like the SML we did in the first year); indeed, we're the second largest OCaml user, the first being a French aerospace firm.  We're now suffering similar problems hiring OCaml developers, because we (or the French firm) already hired them all!

Java does, in a sense, force you into better file structure, because you can only declare one public class per file, and the filename has to match the class name.  It takes a very determined newbie to get around that, and they may then of course start suffering scoping problems.  But I do agree that you could easily write a completely procedural program in Java's main() method.  

I guess my underlying point to all this is that, oddly enough, I actually agree with you!  My feeling is that PHP, as a development environment, is not yet mature enough to properly compete with Java and .NET because the other components in that environment are not yet in place and available with PHP.  I think that's what turns trained developers off PHP, but I recognise that there's a big, obvious, vicious circle going on here.  

I don't know if you read The Daily WTF or not, but I thought you'd appreciate (as a software engineer/computer scientist) the following articles:
http://thedailywtf.com/Articles/wtflibphp.aspx
http://thedailywtf.com/Articles/Superencryptalisticexpialidocious.aspx 

and just to prove I'm not looking for PHP-specific articles :-) here's a couple of NET ones:
http://thedailywtf.com/Articles/Some-one-is-trying-to-Hack-the-Site.aspx
http://thedailywtf.com/Articles/More-Randomer.aspx
http://thedailywtf.com/Articles/Thats-Helpful.aspx

I guess what I'm trying to say is that bad development practices (and dumb developers) abound whatever language you're using, and there's no substitute for good training.  And if I'm surprised at anything about what my CompSci friends have done after graduation, it's the number that have gone into non-tech jobs in the City or similar.  But that's another conversation :-)</description>
		<content:encoded><![CDATA[<p>Hi Tim</p>
<p>My apologies if I misled you into thinking that I was trying to start a flame war; it wasn&#8217;t my intention either! <img src='http://www.oneangrydwarf.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  In the spirit of healthy debate, though, I shall attempt to address your comments also.  </p>
<p>Firstly, I haven&#8217;t done any real development in PHP since the summer of 2006; the only things I&#8217;ve done since then are CLI PHP (for cron jobs for the 4YP) and the help web service for the 4YP, none of which I&#8217;d call proper development (I hacked the web service together having got a small understanding of the Mediawiki API).  I&#8217;m sure things have moved on since then, and things like PDO, etc., in the 5.2 releases of PHP were a huge step forward and I&#8217;ll try and get round to trying them out at some point (I&#8217;m trying to build my C#/.NET skills at the moment, because application development interests me more than web development these days).  I never tried using one of the PHP frameworks like CakePHP or Zend because I didn&#8217;t know (enough) about them at the time, although I have made use of PEAR libraries in the past to make life easier for me (e.g., the XML-RPC library or whatever it was that I used for the help web service).  </p>
<p>My point was, though, that Java and .NET provide the framework *as part of the package*; what&#8217;s to stop PHP distributing CakePHP or PEAR/PECL as part of the package, particularly given the whole OSS thing?  All you then need is a half-decent IDE that will do autocompletion, etc., for the framework as well as your own code, and you&#8217;ve got an experience similar to that of Visual Studio or the Java IDEs.  I don&#8217;t count Zend here, because it&#8217;s not freely available the way PHP is; I feel that the framework and the IDE are there to support the language, and so should be available under the same restrictions.  </p>
<p>Additionally, I recognise that PHP scales well; Wikipedia and Facebook are both PHP-based.  My comment about the types of companies employing PHP developers was a bit misguided, I admit; it could easily be possible that the difficulties recruiting PHP developers are due entirely to the fact that all the good PHP developers are working at Yahoo!, Facebook, etc.  For example, Citrix bought the open source server virtualisation outfit, XenSource, last year, and XenSource use OCaml (a functional language much like the SML we did in the first year); indeed, we&#8217;re the second largest OCaml user, the first being a French aerospace firm.  We&#8217;re now suffering similar problems hiring OCaml developers, because we (or the French firm) already hired them all!</p>
<p>Java does, in a sense, force you into better file structure, because you can only declare one public class per file, and the filename has to match the class name.  It takes a very determined newbie to get around that, and they may then of course start suffering scoping problems.  But I do agree that you could easily write a completely procedural program in Java&#8217;s main() method.  </p>
<p>I guess my underlying point to all this is that, oddly enough, I actually agree with you!  My feeling is that PHP, as a development environment, is not yet mature enough to properly compete with Java and .NET because the other components in that environment are not yet in place and available with PHP.  I think that&#8217;s what turns trained developers off PHP, but I recognise that there&#8217;s a big, obvious, vicious circle going on here.  </p>
<p>I don&#8217;t know if you read The Daily WTF or not, but I thought you&#8217;d appreciate (as a software engineer/computer scientist) the following articles:<br />
<a href="http://thedailywtf.com/Articles/wtflibphp.aspx" rel="nofollow">http://thedailywtf.com/Articles/wtflibphp.aspx</a><br />
<a href="http://thedailywtf.com/Articles/Superencryptalisticexpialidocious.aspx" rel="nofollow">http://thedailywtf.com/Articles/Superencryptalisticexpialidocious.aspx</a> </p>
<p>and just to prove I&#8217;m not looking for PHP-specific articles <img src='http://www.oneangrydwarf.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> here&#8217;s a couple of NET ones:<br />
<a href="http://thedailywtf.com/Articles/Some-one-is-trying-to-Hack-the-Site.aspx" rel="nofollow">http://thedailywtf.com/Articles/Some-one-is-trying-to-Hack-the-Site.aspx</a><br />
<a href="http://thedailywtf.com/Articles/More-Randomer.aspx" rel="nofollow">http://thedailywtf.com/Articles/More-Randomer.aspx</a><br />
<a href="http://thedailywtf.com/Articles/Thats-Helpful.aspx" rel="nofollow">http://thedailywtf.com/Articles/Thats-Helpful.aspx</a></p>
<p>I guess what I&#8217;m trying to say is that bad development practices (and dumb developers) abound whatever language you&#8217;re using, and there&#8217;s no substitute for good training.  And if I&#8217;m surprised at anything about what my CompSci friends have done after graduation, it&#8217;s the number that have gone into non-tech jobs in the City or similar.  But that&#8217;s another conversation <img src='http://www.oneangrydwarf.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://www.oneangrydwarf.co.uk/web/in-response-to-where-did-all-the-php-developers-go/comment-page-1/#comment-116</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Fri, 06 Jun 2008 11:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.oneangrydwarf.co.uk/uncategorized/in-response-to-where-did-all-the-php-developers-go/#comment-116</guid>
		<description>Thanks for the comments Alistair!

I honestly didn't want to start a flame war about which platform or language was the best and as I said in my post I have no issues with the Microsoft platform (except for maybe the cost) or Java. I was trying to identify the reasons why there are so few good web developers around who aren't tied to Java or .Net and I feel that it is mainly down to misconceptions that people have about web scripting and its capabilities. I would however like to challenge some of the comments you have made as I am afraid I have to disagree with some of them. I feel that if I can't justify the tools that I have made the decision to use then I shouldn't be using them.

Your first point relates to whether PHP is a suitable tool for building enterprise applications. Up until the last year or so I would definitely have agreed with you and even now it is somewhat unproven territory. However I firmly believe that it is capable of providing everything that is needed for a large scale application that is elegantly and efficiently designed. The Zend Framework, in my opinion, is the main enabler here as it provides an excellent set of components designed by superb developers which utilise design patterns and concepts  inspired by other platforms such as Java and .Net (as well as some from Ruby on Rails and other scripting frameworks). The very essence of the framework is to promote good practice and enable PHP to scale to the kind of applications we are talking about. As for my evidence, apart from the results I have seen myself from the application I am writing, I would like to point out some large scale projects that have utilised PHP to great effect. Yahoo, Digg, Facebook, YouTube, Wikipedia and Magento (built on the Zend Framework) all demonstrate that PHP can scale and be used to model complex processes (especially Magento and Yahoo).

With regard to your comment about these companies not being primarily development companies I feel it is a little irrelevant. The point is that the applications *have* been developed using PHP, *by* PHP developers. Saying that Facebook's core business is not its website is no different to saying that Google's core business is not software - it may not be where they make their money but you can't deny that their developers are some of the best in the industry - probably better than most developers who work in independent web design companies. In fact I would say that it is the web design/development companies who are the ones who are generally not creating enterprise level applications (they tend to work on a large number of smaller projects) and therefore the tools that they use are less sensitive to these issues.

Two final points; the example you gave about the 2-3000 LOC files is really what I am getting at - you could write a Java program with all the classes in one file if you wanted too! You could even write the whole program in the main method! I can't see how this is any different. Yes, there are a lot of bad PHP tutorials on the internet that promote procedural code but increasingly these are being replaced by excellent sources such as Zend, Sitepoint and a whole array of books. I have to say that I would argue that Java does not promote good practice through its documentation any more than PHP does. The fact is that good practice is about Software Engineering in general and not about language documentation. It's like having all the materials to build a house, each with a set of details on what they do, without the builder having any engineering expertise - it just doesn't work!

My second point is about why PHP is popular. It is free, it is easy to set up and it is easy to get started. However, as with any powerful tool, like Java, you won't get its full power or make it fully secure without some configuration. Register_globals is not a security flaw if it is not switched on! You might not be happy about your bank running PHP but to be honest I wouldn't be happy about them running .Net either! However I am quite happy to make credit card payments on a PHP driven website, as I'm sure you are too. It's all about your security requirements. Banking is probably the most extreme example of high security requirements but most applications simply don't have these needs.

I will give C# a try one day - it's on my (long) list of stuff to try out and I'm sure it's very powerful but for now I'm kind of committed to PHP and proving that it's capable of fighting with the big boys.</description>
		<content:encoded><![CDATA[<p>Thanks for the comments Alistair!</p>
<p>I honestly didn&#8217;t want to start a flame war about which platform or language was the best and as I said in my post I have no issues with the Microsoft platform (except for maybe the cost) or Java. I was trying to identify the reasons why there are so few good web developers around who aren&#8217;t tied to Java or .Net and I feel that it is mainly down to misconceptions that people have about web scripting and its capabilities. I would however like to challenge some of the comments you have made as I am afraid I have to disagree with some of them. I feel that if I can&#8217;t justify the tools that I have made the decision to use then I shouldn&#8217;t be using them.</p>
<p>Your first point relates to whether PHP is a suitable tool for building enterprise applications. Up until the last year or so I would definitely have agreed with you and even now it is somewhat unproven territory. However I firmly believe that it is capable of providing everything that is needed for a large scale application that is elegantly and efficiently designed. The Zend Framework, in my opinion, is the main enabler here as it provides an excellent set of components designed by superb developers which utilise design patterns and concepts  inspired by other platforms such as Java and .Net (as well as some from Ruby on Rails and other scripting frameworks). The very essence of the framework is to promote good practice and enable PHP to scale to the kind of applications we are talking about. As for my evidence, apart from the results I have seen myself from the application I am writing, I would like to point out some large scale projects that have utilised PHP to great effect. Yahoo, Digg, Facebook, YouTube, Wikipedia and Magento (built on the Zend Framework) all demonstrate that PHP can scale and be used to model complex processes (especially Magento and Yahoo).</p>
<p>With regard to your comment about these companies not being primarily development companies I feel it is a little irrelevant. The point is that the applications *have* been developed using PHP, *by* PHP developers. Saying that Facebook&#8217;s core business is not its website is no different to saying that Google&#8217;s core business is not software - it may not be where they make their money but you can&#8217;t deny that their developers are some of the best in the industry - probably better than most developers who work in independent web design companies. In fact I would say that it is the web design/development companies who are the ones who are generally not creating enterprise level applications (they tend to work on a large number of smaller projects) and therefore the tools that they use are less sensitive to these issues.</p>
<p>Two final points; the example you gave about the 2-3000 LOC files is really what I am getting at - you could write a Java program with all the classes in one file if you wanted too! You could even write the whole program in the main method! I can&#8217;t see how this is any different. Yes, there are a lot of bad PHP tutorials on the internet that promote procedural code but increasingly these are being replaced by excellent sources such as Zend, Sitepoint and a whole array of books. I have to say that I would argue that Java does not promote good practice through its documentation any more than PHP does. The fact is that good practice is about Software Engineering in general and not about language documentation. It&#8217;s like having all the materials to build a house, each with a set of details on what they do, without the builder having any engineering expertise - it just doesn&#8217;t work!</p>
<p>My second point is about why PHP is popular. It is free, it is easy to set up and it is easy to get started. However, as with any powerful tool, like Java, you won&#8217;t get its full power or make it fully secure without some configuration. Register_globals is not a security flaw if it is not switched on! You might not be happy about your bank running PHP but to be honest I wouldn&#8217;t be happy about them running .Net either! However I am quite happy to make credit card payments on a PHP driven website, as I&#8217;m sure you are too. It&#8217;s all about your security requirements. Banking is probably the most extreme example of high security requirements but most applications simply don&#8217;t have these needs.</p>
<p>I will give C# a try one day - it&#8217;s on my (long) list of stuff to try out and I&#8217;m sure it&#8217;s very powerful but for now I&#8217;m kind of committed to PHP and proving that it&#8217;s capable of fighting with the big boys.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alastair Smith</title>
		<link>http://www.oneangrydwarf.co.uk/web/in-response-to-where-did-all-the-php-developers-go/comment-page-1/#comment-115</link>
		<dc:creator>Alastair Smith</dc:creator>
		<pubDate>Fri, 06 Jun 2008 09:45:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.oneangrydwarf.co.uk/uncategorized/in-response-to-where-did-all-the-php-developers-go/#comment-115</guid>
		<description>Hi Tim

You might want to check out Jeff Atwood's recent post on PHP (PHP sucks, but it doesn't matter) if you haven't already seen it: http://www.codinghorror.com/blog/archives/001119.html.  It offers a good list of reasons why PHP "sucks", and even goes as far as offering solutions to the problem.  

As far as languages for web development are concerned, I've really had my eyes opened since starting at Citrix.  I didn't know any Microsoft programming before starting here (I'd heard of .NET, used it in my internship, and that was as far as it went), and was relatively well-versed in Java and open source tools and methodologies.  I'd done a not-insignificant amount of programming in PHP myself; maybe partly because of this, and because I came to programming fairly late (I started in my lower sixth, having played with Quick Basic a little when I was about 12-13), I had no idea of patterns, MVC, etc., etc., etc.  My first exposure to these concepts was our fourth-year project.  

I'm working on a web application at Citrix, the Citrix Web Interface, which is one of our most prominent components.  What is it written in?  Java and ASP.NET.  What does it run on?  IIS or a Java Servlet Container such as Tomcat.  Why don't we use PHP?  Because PHP simply is not suitable for enterprise-level web applications.  We couldn't do half the clever stuff we do if we were using PHP.  

PHP is an excellent language for knocking together a quick data-driven system, and I'm sure that with a good programmer behind it, it can be made to do good things.  However, there are features of a fully-fledged OOP language like Java or C#, or even C++ CGI, that bring things to the table that scripting languages just can't.  For example, proper object garbage collection, designed from the beginning for object clean-up, rather than bending the existing memory management functions designed for individual variables and arrays, etc., to a higher purpose.  

Leonid's post mentions Google and Amazon; Google makes heavy use of Python and Java, and whilst I don't know what language Amazon uses, I'd be willing to bet it's not PHP.  Or isn't any more, at the very least.  PHP is quick and easy to set up not least because of the reasons Leonid mentions in his article, and because of that it has some issues.  It's not terribly secure, and it almost *promotes* poor programming; there's no good IDE that matches the PHP philosophy (i.e., there's no good *free* IDE, and even Zend sucks a bit), and so there's nothing to guide the programmer into doing things "the right way".  The frameworks don't come bundled with PHP the way they do with Java and .NET, and they don't integrate into the IDE.  *Unless you explicitly know what to look for, you're on your own*.  

My first PHP application provides a good example here. I didn't know what I was doing: it was my first experience with web development, my first experience with anything outside of Pascal, and I wasn't a particularly good Pascal programmer.  I'd only been seriously programming for about 18 months by this time, and only really just "got" what OOP was about (not helped by a lack of exposure to it)!  It consisted of a handful of super-sized PHP files (I'm not kidding, they ranged from ~500 to 2-3000 LOC each).  It was almost completely procedural - you could count the total number of functions on the finger of one hand, two at a stretch, and there was *so* much repeated code.  It was so horrendously unmaintainable, that I've given up supporting it now, and am completely and utterly embarrassed by it.  It's just too easy in PHP to utterly mess things up.  If my bank used PHP to write their internet banking application, I'd be switching bank faster than you can say "register_globals".  

I'm glad to say that my PHP skills improved a lot over the years since that first application, and the last application I worked on was an experiment with PHP 5's OOP facilities.  However, given that PHP is a scripting language, the OOP facilities can only go so far, and ultimately I gave up through frustration as much as anything else.  

I'm no Java evangelist, I don't particularly like it and its everything-is-an-object approach, and the way objects are passed by value all the time and the performance issues and the fact that it seemingly has historically had poor support for underlying platform functions.  I have to work with it on a daily basis, and as a language it is more than good enough.  You should, however, try C# some time; it's very much like Java, but done right.  It's got enough of C++ in it to iron out Java's quirks, and I really enjoy programming in it. 

I've spoken to one big web design company in the past, a company called M-Corp based down in Ringwood in the New Forest.  They use the Microsoft ecosystem - Windows, ASP, IIS, SQL Server, all the rest of it - with PHP as an option if, presumably, a) the project is better suited to PHP, or b) if the customer requests it for some reason.  My knowledge of PHP web development posts is that they tend to be within a company that doesn't do web development and design as its bread and butter business, and is looking for a quick/easy/low-cost solution, and because PHP runs in the LAMP stack, it most certainly is low-cost.  Even something like Facebook is not a web development and design company, it's a social-networking trying-to-be-advertising company; their web site is just the enabler for the rest of their business.  

Just my 5p :-)  Hope things are all well with you.

Alastair</description>
		<content:encoded><![CDATA[<p>Hi Tim</p>
<p>You might want to check out Jeff Atwood&#8217;s recent post on PHP (PHP sucks, but it doesn&#8217;t matter) if you haven&#8217;t already seen it: <a href="http://www.codinghorror.com/blog/archives/001119.html" rel="nofollow">http://www.codinghorror.com/blog/archives/001119.html</a>.  It offers a good list of reasons why PHP &#8220;sucks&#8221;, and even goes as far as offering solutions to the problem.  </p>
<p>As far as languages for web development are concerned, I&#8217;ve really had my eyes opened since starting at Citrix.  I didn&#8217;t know any Microsoft programming before starting here (I&#8217;d heard of .NET, used it in my internship, and that was as far as it went), and was relatively well-versed in Java and open source tools and methodologies.  I&#8217;d done a not-insignificant amount of programming in PHP myself; maybe partly because of this, and because I came to programming fairly late (I started in my lower sixth, having played with Quick Basic a little when I was about 12-13), I had no idea of patterns, MVC, etc., etc., etc.  My first exposure to these concepts was our fourth-year project.  </p>
<p>I&#8217;m working on a web application at Citrix, the Citrix Web Interface, which is one of our most prominent components.  What is it written in?  Java and ASP.NET.  What does it run on?  IIS or a Java Servlet Container such as Tomcat.  Why don&#8217;t we use PHP?  Because PHP simply is not suitable for enterprise-level web applications.  We couldn&#8217;t do half the clever stuff we do if we were using PHP.  </p>
<p>PHP is an excellent language for knocking together a quick data-driven system, and I&#8217;m sure that with a good programmer behind it, it can be made to do good things.  However, there are features of a fully-fledged OOP language like Java or C#, or even C++ CGI, that bring things to the table that scripting languages just can&#8217;t.  For example, proper object garbage collection, designed from the beginning for object clean-up, rather than bending the existing memory management functions designed for individual variables and arrays, etc., to a higher purpose.  </p>
<p>Leonid&#8217;s post mentions Google and Amazon; Google makes heavy use of Python and Java, and whilst I don&#8217;t know what language Amazon uses, I&#8217;d be willing to bet it&#8217;s not PHP.  Or isn&#8217;t any more, at the very least.  PHP is quick and easy to set up not least because of the reasons Leonid mentions in his article, and because of that it has some issues.  It&#8217;s not terribly secure, and it almost *promotes* poor programming; there&#8217;s no good IDE that matches the PHP philosophy (i.e., there&#8217;s no good *free* IDE, and even Zend sucks a bit), and so there&#8217;s nothing to guide the programmer into doing things &#8220;the right way&#8221;.  The frameworks don&#8217;t come bundled with PHP the way they do with Java and .NET, and they don&#8217;t integrate into the IDE.  *Unless you explicitly know what to look for, you&#8217;re on your own*.  </p>
<p>My first PHP application provides a good example here. I didn&#8217;t know what I was doing: it was my first experience with web development, my first experience with anything outside of Pascal, and I wasn&#8217;t a particularly good Pascal programmer.  I&#8217;d only been seriously programming for about 18 months by this time, and only really just &#8220;got&#8221; what OOP was about (not helped by a lack of exposure to it)!  It consisted of a handful of super-sized PHP files (I&#8217;m not kidding, they ranged from ~500 to 2-3000 LOC each).  It was almost completely procedural - you could count the total number of functions on the finger of one hand, two at a stretch, and there was *so* much repeated code.  It was so horrendously unmaintainable, that I&#8217;ve given up supporting it now, and am completely and utterly embarrassed by it.  It&#8217;s just too easy in PHP to utterly mess things up.  If my bank used PHP to write their internet banking application, I&#8217;d be switching bank faster than you can say &#8220;register_globals&#8221;.  </p>
<p>I&#8217;m glad to say that my PHP skills improved a lot over the years since that first application, and the last application I worked on was an experiment with PHP 5&#8217;s OOP facilities.  However, given that PHP is a scripting language, the OOP facilities can only go so far, and ultimately I gave up through frustration as much as anything else.  </p>
<p>I&#8217;m no Java evangelist, I don&#8217;t particularly like it and its everything-is-an-object approach, and the way objects are passed by value all the time and the performance issues and the fact that it seemingly has historically had poor support for underlying platform functions.  I have to work with it on a daily basis, and as a language it is more than good enough.  You should, however, try C# some time; it&#8217;s very much like Java, but done right.  It&#8217;s got enough of C++ in it to iron out Java&#8217;s quirks, and I really enjoy programming in it. </p>
<p>I&#8217;ve spoken to one big web design company in the past, a company called M-Corp based down in Ringwood in the New Forest.  They use the Microsoft ecosystem - Windows, ASP, IIS, SQL Server, all the rest of it - with PHP as an option if, presumably, a) the project is better suited to PHP, or b) if the customer requests it for some reason.  My knowledge of PHP web development posts is that they tend to be within a company that doesn&#8217;t do web development and design as its bread and butter business, and is looking for a quick/easy/low-cost solution, and because PHP runs in the LAMP stack, it most certainly is low-cost.  Even something like Facebook is not a web development and design company, it&#8217;s a social-networking trying-to-be-advertising company; their web site is just the enabler for the rest of their business.  </p>
<p>Just my 5p <img src='http://www.oneangrydwarf.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Hope things are all well with you.</p>
<p>Alastair</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.686 seconds -->
<!-- Cached page served by WP-Cache -->
