Web Languages: PHP vs. ASP.NET
by: Kevin Jordan
While the average web developer has a lot of options these days. It's really more of a bi-partisan system between ASP.NET and PHP, the rest being just independents. The battle rages between the supporters of the two languages, with no clear winner every coming out. While both can be used to complete the same project, it really depends on what you're looking for: price, speed, security, etc.
ASP.NET
If you program in ASP.NET you'll typically get too responses from the other side. Either you're rich (or your company is) or you're a Microsoft lover. While the name comes from Microsoft's old ASP technology, they made a huge leap with the .NET Framework, and the CLR allows you to use other languages for back end processing: typically Visual Basic.NET or C#.
ASP.NET's strength lies in object oriented features, and it's flexibility. Because of the CLR you can have C# programmers and VB.NET programmers working on the same project, or switch languages half way through and not have to rewrite all of your old classes. The .NET class library is organized into inheritable classes based around particular tasks, such as working with XML or image manipulation, so a lot of the more common tasks have been already handled for you.
Visual Studio .NET is a massive development IDE that (as long as your computer is fast enough) will shave tons of time of your coding. It has built in debugging along with IntelliSense, which allows for auto-completion of methods and variables so you don't have to memorize everything.
On the down side, ASP.NET is expensive. One it uses tons more resources on the web server so you'll require either better server or more servers in the farm. Windows 2003 and Visual Studio .NET are pretty tough on the pocket book as well. It's extremely rare for an ASP.NET app not to be running on IIS. And if you pay attention to any of the bug reports, you'll notice that Windows and IIS have had a bit of a history with vulnerabilities being exploited.
PHP
PHP works in combination of HTML to display dynamic elements on the page. PHP only parses code within its delimiters, such as . Anything outside its delimiters is sent directly to the output and not parsed by PHP.
PHP strength lies mostly in LAMP. The LAMP architecture has become popular in the Web industry as a way of deploying inexpensive, reliable, scalable, secure web applications. PHP is commonly used as the P in this bundle alongside Linux, Apache and MySQL. PHP can be used with a large number of relational database management systems, runs on all of the most popular web servers and is available for many different operating systems. This flexibility means that PHP has a wide installation base across the Internet; over 18 million Internet domains are currently hosted on servers with PHP installed.
With PHP 5 finally came exception handling and true OOP, but it still lack namespacing to prevent class naming collisions. PHP's type checking is very loose, potentially causing problems. Another drawback is that variables in PHP are not really considered to have a type. Finally, for some reason big corporations feel that if they're not paying for something, then it's not worth buying. If that's you're company's mentality, they just need to wake up and check out all the awesome free software that's out there.
So Which Is Better?
We'll I have my opinions and you may have yours as well. But in general, PHP is cheap, secure, fast, and reliable, while ASP.NET has quicker development time and is easier due to its class library system can probably be maintained more easily. Both are great languages, and it's up to you to make the decision.
About The Author
Kevin Jordan is a software engineer and the creator of Scratch Projects. A web site dedicated to teaching others to program through actual programming projects instead of just giving away code snippets.
http://www.scratchprojects.com