Sunday, October 29, 2006

PHP - the most postmodern of programming languages?

Recently I've been doing a bit of maintenance work on a few websites written in PHP. I've never really been a PHP programmer, but I can read existing code and search for examples of things I want to do on the web. One way or the other I can usually get to something that works, although it might involve some trial and error, and I doubt that what I create is the most elegant solution to the problem. While doing this it struck me that I know very few people who would profess to be PHP programmers, but a lot of people who have "done some PHP" - many people who work with PHP in the same way that I do. You know enough programming concepts to envisage what should be possible, and you can copy, paste and edit existing code to come up with a solution.

This seems very much in line with some of the things that James Noble and Robert Biddle talked about in their paper Notes on Postmodern Programming. Postmodern programming takes the view that things are often not designed and implemented in a consistent way from scratch, but more often created by integrating and reusing existing software components, or bits of them, and glueing them together to make something that works. This is a topic that will be explored further at PoMoPro, the first international conference on postmodern programming, to be held in London on the 25th of November.

Although I can see that a lot of software projects do follow these themes of combining various existing parts to produce a whole, and that there is a certain satisfaction and pragmatism to rigging something up as fast as possible that does the job, I have to say that I am probably something of a modernist at heart. I have a better feeling about a project when the overall design is consistent and elegant. I prefer those clean lines. But I suppose that this is horses for courses, and in some cases the best thing to do is bolt together what you can find, in other cases you might be better served by creating an overarching design.

This page is powered by Blogger. Isn't yours?