PHP is the best language for web programming, but what about other languages?
ASP is not really a language in itself, but an acronym for Active Server Pages; the actual languages used to program ASP include Visual Basic Script, JScript, and C#, among others. The biggest drawback of ASP is that it's a proprietary system that is natively used only on the Microsoft Internet Information Server (IIS) platform. This limits its availability to Win32 based servers. There are a couple of projects in the works that allows ASP to function with other environments and webservers: » InstantASP from » Halcyon (commercial), Chili!Soft ASP from » Chili!Soft (commercial), and » Mono (open-source). ASP is said to be a slower and more cumbersome language than PHP, with less overall stability. One of the pro's of ASP is that, since it primarily uses VBScript, it's relatively easy to pick up the language if you're already proficient in Visual Basic. ASP support is also enabled by default in IIS, making it easy to get up and running. However, the components built in ASP are really limited, so if you need to use "advanced" features (like interacting with FTP servers), you'll need to buy additional components.
PHP is commonly said to be faster and more efficient for complex programming tasks and trying out new ideas, and is considered by many to be more stable and less resource-intensive as well. While ColdFusion once had better error handling, database abstraction, and date parsing, the database abstraction shortfalls were addressed in PHP 4. A particular quality that is listed as one of ColdFusion's strengths is its excellent search engine, but many strong arguments suggest that a search engine is not something that should be included in a web scripting language. Further, PHP runs on nearly every modern platform in existence, while Cold Fusion is only available on Windows, Solaris, Linux, MacOS, and AIX. Cold Fusion has a good IDE and is generally quicker for new programmers to achieve results for very simple applications, whereas PHP initially requires more programming knowledge. Cold Fusion is designed with non-programmers in mind, while PHP is focused on programmers.
The biggest advantage of PHP over Perl is that PHP was designed for scripting for the web, while Perl was designed to do a lot more. Because of this, Perl can get very complicated. The flexibility / complexity of Perl can make it difficult for developers of varying skill levels to collaborate. PHP has a less-confusing and stricter format without losing flexibility. PHP is also easier to integrate into existing HTML than Perl. In large part, PHP has all the 'good' functionality of Perl - constructs, syntax, et cetera - without making it as complicated as Perl can be. Yet PHP's command-line interpreter (CLI) is powerful enough to perform high-level tasks much in the same way Perl has been traditionally employed. Perl is a very tried and true language, and has stood its ground since the 1980's, but PHP has matured and evolved quickly, and continues to make fantastic progress.