« Nostalgia can be fun! | Main | Hooo ahhh! »

ASP, Perl, or PHP?

These days, there seems to be a lot of infighting in the web site development community. The young geeks scream PHP, the old geeks like Perl, and the people who get sleep at night love ASP. While there is no need for an agreement, because these are all server side, it does show a deeper part of our geek community. Note:Warning. Inflamatory development religion-speak inside. You've been warned.

Now first I would like to start off, by admitting something that may cause many of you to stop reading and start flaming me like I was the anti-Christ. I use ASP. Yes, the Microsoft solution! I know that Bill Gates is the root of all evil (that has more than one meaning), but ASP is a solid product. Wow, I think i just heard you all shrug. Here's why I chose ASP... Being a young geek, I am still in school... that means limited time. I love learning a new language, but those of you who know 4+ languages have to admit that you do start to get confused on the syntax. ASP runs on the basic ideas of VBScript and therefore Visual Basics.

For my PHP homies out there... I fully respect PHP. But to me its like Java. Java is a wondeful language... wonderfully complex. You can do amazing things with it, but even the guy who wrote the language needs a reference book next to him. I think that what you guys do is great and keep on doing it. PHP can do some wonderful things. But personally, I don't have the time to go and learn such a confusing language.

And for the Perl people out there: Shouldn't you take your medicine? You might break your hip if you run to fast. Wow, I just really pissed off a bunch of great people didn't I. Naw, I didn't mean all of that! Anyhow, Perl has some great scripts floating around. But it is becoming a legacy language of sorts. It was difficult and hard to use, but for a long time it was the only option. Those of you who still use perl most likely are doing it for kicks or are simply editing pre-written scripts.

All in all, I know this article makes me look like a really bad geek. Maybe I don't deserve the title geek at all. But you have just witnessed the view of a web designer. Microsoft's product is easy and workable. When I have deadlines for my non-technical clients, they want results. And most web developers use ASP these days because it allows us to do that.

But I know from this article that many of you (if anyone reads this at all) are really angry right now. That is a problem. Why do we all feel the need to get all up in arms about different languages and systems. I mean, some of you full time Linux users out there almost won't talk to a Windows user. We really need to pull together as a community. Stop bashing people because they aren't as smart as you. Yes, I am not as good at scripting languages as those of you who use PHP or Perl, BUT I have deadlines. Now, does this mean that I am any less geeky. Heck no, I still spent 20 hours with my head in code trying to build scripts for a SQL database front end... but I chose that instead of 40 hours (it took longer because I had to figure it all out on my own).

As that immortal saying goes: "Why can't we all just get along?"

PS: Microsoft, you can just send that check to my home. Make sure to put the comment on the check as: "selling your soul"... thanks, i'll be excpecting that check in the next few days.


Well, suffice it to say, I don't totally agree. Having worked on many projects, many of them in languages not best suited to them, I've got a bit to add. But, before I sound like I'm not fulling hashing out my ideas, I'd just like to mention that I am planning to eventually finish an article I've been writing about platform/technology religions, which covers (in better depth) much of what I'm about to say.

So, what's wrong with the above argument?

  1. It assumes that there is a single choice that's right for anything.
  2. That all languages should be used for the same purpose
  3. That everyone has a certain amount of language zeolotry.

Right. So, I'll hit each one up, directly:

First, that there's a "right choice". This is silly. There are many reasons for choosing a technology... familiarity, ease of use, pre-existing work to base new work upon, expressive power, stability, maintainability, etc. The values assigned to each of these values are highly debatable, and are situational - how stable ASP is on a single machine running a low volume website, vs. running it on managed host using one box for 100 sites? Stark difference.

But, I digress. The next point was about the appropriate choice of a language, given a situation. Here, again, most of the measures are subjective - you really need to fully define the specification. Too often, I hear people choose a design or platform based on their own personal preferences. They often forget that anyone's work lives a long time. An implicit requirement in almost any system is that it fits with the direction the organization using it is going.... I did some work a few years ago that left a few Java servlets at the core of a business process. The people working with them didn't know how to write Java, nor how to manage the Oracle database it was talking to. Despite the fact that I was most comfortable with that choice of platform, it was an extremely poor choice, given the situation, which I inadequately evaluated at the time.

Thirdly, 12tribes assumes that everyone is a language zealot. That, also, is absurb. Anyone with enough experience will know that picking the development enviornment is part of any design process. In some corporations, it might be specified because of the corporate climate - if the corporation only hires Microsoft-trained employees, then Linux with PHP is a poor choice, sure. But, if they develop for all platforms, and generally higher OOP-trained programmers, C++ or Java is a good target. If performance is important, then they should consider bucking all script languages, and only consider languages which can cut the mustard. Rarely does personal preference reign.

On smaller notes, there are some not factually true elements in the article: There have always been plenty of options for scripting. Perl happens to have been one of the early popular ones... it was not any more easily available than other environments in the early days. True, ASP and PHP came along later. As for needing a reference to program in any language ... it just depends on how much of the language you have committed to memory, and how much you have to look up. ASP has always frustrated me, because it relies on the world of VB to provide its library - you can only do simple things without knowing the entire class library. At least the primitives in, say, Java, are capable by themselves. But, any language with a large library is going to take a while to acquire proficiency in, or a reference. Otherwise, it would require too much programming for even the simplest tasks to be done quickly.

Hrm. That's quite enough. I'll save the rest for when I finish my essay on this topic.


Of course I wasn't speaking for everyone, nor was I implying that ASP was good for all uses. But as a web site designer and having been trained in not as many languages as other more experience people, I have found ASP useful for my purposes. It isn't the right choice for everyone! Your right, that is absurd! If I was doing high traffic corporate websites, then you would definately want to use something with a little more punch.

And I would also like to say that a lot of people go around hating all other languages. Any negative remarks i made about other languages were not meant to be taken seriously.

Many programmers do use many different languages and can switch between them without any effort. Some people use a Mac, a Windows box, and a Linux box at the same time and like them equally. But generally I have observed in my limited experience people who identify with a certain platform or language. These people (usually) aren't purists or zealots, but simply people who really 'mesh' with.

I'm sorry that I was not more clear with my writing or that I may have offended anyone. That was not my task. I was only showing the advantages from my point of view: a young website designer with medium programing ability who works on small scale websites. I was wrong to make it seem like I was speaking for other people.


Having worked in PHP for a few months and ASP for a few days, and not liking Visual Basic itself very much nor MS in general, I'm all for PHP. I also love Java though, so I might be strange. JSP shouldn't be forgotten either. But then I suppose it all depends on the situation.

Hmm... I have to say that i'm not very familiar with JSP. I'll go check that one out.

And like I said in my article (or at least I tried to get this across) that there is nothing wrong with any of the other languages. Heck, there's plenty wrong with ASP!

I'm starting to realize that those who come from a java based background tend to favor PHP and those who come from a VB (or, heck, Basic) background favor ASP (as I do).

You know, i'm really surprised that the negative responses I have gotten have been based on PHP and ASP... I was really thinking that my rather mean comment about Perl people breaking their hips would have gotten me pleanty of flames. I couldn't resist though. I'm a weak man!