For those of you who know me, and know my past work on the web, the idea of me learning PHP may shock you. Why would I do such a thing? I’ve always preferred ASP to PHP and spent a good chunk of last year learning ASP.NET and VB.NET! I just finished building a website that uses ASP.NET exclusively. I may have even spent some time trying to convince you to learn ASP.NET. Well, while I’m not about to throw ASP.NET out the window anytime soon, but I do plan to do my next few projects in PHP … here are a few reasons why:
Reason number 1: MONEY.
I’ve spent the last 8 months working at a non-profit organization (need I say more?). At this organization we have a certain number of computers and software licenses. New computers, or money for new software is nowhere in the foreseeable future. To run ASP.NET, you need a Windows server license and a pretty modern computer to run it on. What do I have available? Well, I think that old Pentium I in the corner will work just fine – install Linux, Apache, PHP and mySQL and it’ll be good to go. No new hardware costs, and no new software costs either (all open-source and freely downloadable).
Reason number 2: STABILITY.
At above mentioned non-profit organization, we have a Windows 2000 Server. It controls pretty much our whole network and is considered the most important computer in the building. It’s also a broken piece of junk! Every time I turn on the monitor, the thing has a whole screen full of errors. Whole sections of the OS don’t work properly anymore and it’s barely alive at all. We’re currently working on moving the network to a new main server, but MS didn’t exactly make that process easy … so we’re about to go insane.
While messing with this (and many other) Windows problem, I suddenly realized something. You know, we have another very important server in the office, it handles all of our Internet access, logging, firewall, mail server, and a few other tasks. This server sits there and runs day after day without needing any attention. Who knows when the last time was that we actually turned the monitor on? It just works! And guess what, it doesn’t run Windows! Nope, this baby runs FreeBSD, a free (imagine that) UNIX-like operating system similar to Linux. Then I remembered that I used to rent a Linux server where I hosted about 50 domain names for my hosting company. This computer had a whole whopping 16MB of RAM and a pretty slow processor … and it ran Linux. I had the server for over 2 years and only rebooted it about 3 times, and only once because I needed to. Starting to see a pattern? Why on earth did I ever start programing on a MS platform? What was I thinking?
Reason number 3: AVAILABILITY.
This one is pretty simple. ASP.NET runs on Microsoft Windows Servers with IIS 4 or 5 and the .NET Framework. PHP can run pretty much ANYWHERE. It can run on Linux, FreeBSD, Solaris, Mac OS X, many other forms of ??Unix? and, get this, even on Windows! Why should I waste my time developing my skills in languages that tie me to a (not so great) OS?

