PHP: The Pot Noodle of software development

PHP is, despite its huge popularity, one of only a handful of web programming tools I’ve never really used in anger. And thats because, basically, I’m a programming snob. I like Java (despite its annoyances), Ruby, Python, JavaScript and a whole load of other things, but I just can’t bring myself to “do” PHP.

I had a good chat about this with my colleague Mark and I think I figured it out. PHP is the Pot Noodle of programming.

A Pot Noodle

Image courtesy of Poundland

Let me explain. Pot Noodle is, frankly, a bit crap. On the other hand, the only thing it requires to make a meal is a kettle, which is pretty much the only appliance in the kitchen that is always guaranteed to be there, to work, and not be totally disgusting (especially if you’ve ever lived in a shared house). It also requires absolutely zero culinary skills. So as a student, Pot Noodle is a good standby. However, as a proper grown up I never really bother with them.

For me, PHP is a bit similar.  All you need is a fairly normal web server, and it can do the job, and most people, including non-developers, can pick up enough skills in it fairly easily. (Looking at anything substantial built in PHP also looks a bit like a tangled mess of noodles wrapped around some unidentifiable chunks too.)

But its not something I particularly want to touch myself; which is fine, as if you throw a Pot Noodle out of the window of an IT dept there’s a reasonable chance it will land on someone who can do PHP.

So, if you need the job doing, if you can’t install a ton of software on the server, and it needs doing quickly… well there’s a web programming language that can fit.

Long live PHP!

Just don’t make me eat use it.

 

 

 

This entry was posted in development. Bookmark the permalink.

11 Responses to PHP: The Pot Noodle of software development

  1. So I think your analogy is pretty accurate. Now that said, which of the other languages would you recommend to someone who only does PHP (and does so because they are in that class of “most people, including non-developers”) as having a similar ease?

  2. scottbw says:

    I wouldn’t say its especially easy as such, but JavaScript is such a handy language both client-side and now server-side (with Node.js etc) that its well worth the effort. Also unlike many other languages it doesn’t enforce a particular paradigm – you can go functional, object-oriented, or whatever. And you can debug it directly in a browser – even edit the code interactively. It also complements PHP quite nicely so would be a reasonable next step (“OK, so how could I do this without using server-side scripting?”)

  3. Yes you are a snob and this is your good right, but lots of professional developers do pretty large development with pretty clean looking code (or in your metaphor, make 5 star meals) which is perfectly possible.
    It started as a simple templating language and something easiliy picked up by new and untrained developers and still suffers somewhat from this reputation.
    PHP might be a good choice, depending on the intended hosting environment and the problem at hand.
    But posts like yours, promoting snobbery, are reprehensible and don’t really suggest a professional attitude.

    By the way, I enjoy the irony of you using WordPress to post this.

  4. Phillipus says:

    I raise Scott one higher on snobbery. I put Javascript in the Pot Noodle, er, pot. I guess my self-acclaimed uber-snobbery (and unashamed promotion thereof) makes me so much less “professional” than Mr relaxnow (are you a Frankie Goes To Hollywood fan? Good for you!). I’ve always eschewed the term “professional” and preferred the more pragmatic term, “my code (just) works”…

  5. Fred says:

    Nice troll! Like many programming languages, you can pick up the basics of PHP quickly enough and cobble together some small-scale web apps in it using a few scripts without needing too much discipline. However, once you get into building robust and chunky apps then you have to code carefully, consistently and rigorously, as you have to do with any serious language. Otherwise you do end up with a pot noodle of interlacing scripts, and anyone who’s had to try to pick apart such a pot noodle knows how frustrating it is trying to find what’s calling what, why and how. More worryingly, amateur coders often leave big security holes (I was guilty of this, for sure) which webbots crawl into to deface your lovely sites.

    Hence the popularity amongst pro programmers of PHP frameworks. These not only provide scads of ready-rolled classes, but your security headaches are dealt with by the Open Source community for that framework, and structural and coding displine is enforced. My fave is Codeigniter (in UHKE, the OU’s Cloudworks is written in this), a MVC framework which results in code that can be easily picked apart if the coder gets run over by a bus, but there are plenty of other good frameworks out there. I doubt that there’s a pro PHP developer who doesn’t use one, if only to save a feck of a lot of time reinventing coding wheels. Now, if you’re being a real snob you’d turn your nose up at them as there’s so much pre-written code, but when it comes down to it, you have to produce things that work, rather than code that is “poetry” (as the slogan of that nerdfest dev8d had it), and in a realistic timescale, so frameworks are just de rigeur, my dear.

    I’m afraid that a real programming snob would look down his (and it would be his) nose at any languages which aren’t Assembler, and even Assembler’s a bid noddy and really you should be coding in machine language (search for ‘real programmers’). Server-side, Perl is perhaps semi-acceptable as it’s so obscure and obtuse (all those hanging matchsticks) and thus loved by nerdy hackers, Java is maybe ok as OOP (but not a patch on Smalltalk), and Ruby is just a johnny-cum-lately for, well, rubes. Even good old C is looked down on by real snobs, despite its pointer arithmetic.

    The simple truth is that any programming language, when used by non-programmers or programmers who only code rather than develop software, can produce dog’s dinners. In the end, it’s your training, experience and meta-development skills, a level above your coding skills, that will result in robust applications, whether you’re using PHP, Ruby or Hamsterware.

    • scottbw says:

      Great follow up there Fred – thanks! (If I’m going to troll, I’ll try and do it with style :))

      Once upon a time I had a contracting job that involved having to build a pretty complex system using VBScript and ASP – and I made a big effort to build it OOP and DRY and self-documenting. I’ve also done some complete hackery in Java. So yes, its the person (and the job) that matters more than the language.

  6. Fred Riley says:

    Further to this, I’ve just come across (via a Smashing Magazine bulletin) a useful site called, perhaps arrogantly, “PHP: The Right Way” which looks to be a promising guide for new PHP coders and ‘noodlers’.

    • Bravo.I says:

      Hey, thanks for the website! I’m already a PHP web developer but now I know where I can direct newbies, noobs and noodlers : ) The website seems promising.

  7. Jeremy Crane says:

    PHP being an open source is easy to deal with and for some of the simple and basic application PHP works best and even promising.

Leave a comment