Using PHP. Yes, PHP!

July 27, 2008

Early on in this blog I wrote a post about how terrible PHP appeared to be, and got reamed for complaining about something I didn't really know much about.

Now it turns out that I am not only using PHP for web projects, but liking it. Color me stupid (not that it takes much).

Sure, lots of people agree that PHP can be ugly, inconsistent and without discipline, a real maintenance nightmare. Many of these folks (if they actually use it) also admit you can get a lot of work done quickly with it. I started using it on a fairly simple web app and am now on my third; over time I am beginning to see the better idioms for using it effectively.

I've been a Java programmer for almost ten years now so sometimes I get confused between the two languages (and then some, given that I am working on iPhone apps as well, throwing Objective-C into the mix in my head). I am not sure I would use PHP for a large application but then again I've only worked on small projects of my own so I can't see what it would be like.

When it came time to build a new blog application (for a new blog not yet ready) I looked at Java and Ruby back and forth for quite a while before coming to the conclusion that PHP would be easier. For every software project there are always way too many options; for projects consisting of just me I think whatever is the least amount of effort is the best choice. I expect to recode this blog in PHP someday as well.

Ruby on Rails, Groovy on Grails, etc. might be better choices for something bigger but in learning each I found PHP still got me to what I needed to do quicker. So for now I'm doing PHP at home (along with the iPhone development) while I look for another Java (probably) job. The problem with PHP is that the jobs don't pay as well as Java architect positions do so I am sort of stuck in Javaland for now. I wish I could make a living building the type of web apps I am doing now (for myself or for organizations I belong to) but you can never get someone to hire you if you don't have XXX years of experience in some specific set of languages and technologies. Sure, I have less than 1 year PHP experience but 10 in Java web development and design; somehow the latter makes little difference to recruiters and sourcers.

PHP gets the job done for me at the moment; what more can I say? It's not perfect but it works.