Article
Which Server-Side Language Is Right For You?
ASP
Before we go any further, let's get something out of the way for the purists out there. Microsoft Active Server Pages (ASP) is not a language. Rather, ASP is a framework that lets you combine one of a number of scripting languages (VBScript and JavaScript being the most popular choices) with an expandable set of software components. These components are treated as objects by the scripting language of your choice when it is used as part of the ASP framework. In essence, the power of ASP lies in its ability to combine relatively simple scripting languages like VBScript and JavaScript with powerful software components that are normally used by C/C++ developers.
Okay, that's the Microsoft sales pitch out of the way. Now let's face facts: for all practical purposes, ASP might as well be a language. You simply get a choice between writing VBScript ASP or JavaScript ASP. Since most of the sample code out there is written in VBScript, your choice is all but made for you. Thus, ASP is generally considered to be a language for developing dynamic Web sites using VBScript, and under that umbrella it excels. ASP is easy to learn, powerful enough for most mainstream server-side Web development, and quite good performance-wise.
ASP is closely linked to the Windows operating system (most of the software components that ASP relies on for its functionality are Windows-specific) and the Microsoft Internet Information Services Web server software. For these reasons, it is neither practical nor desirable to run a Web site based on ASP on anything but a Windows-based server. If you're setting up your own Web server, that means you must invest in a copy of Windows 2000 Server (although much of ASP runs on Windows 2000 Professional, IIS is not as scalable on that platform). If you're paying for Web hosting, it means paying for a Windows-based server, which is usually more expensive. Any way you look at it, ASP will cost you money to run. There are versions of ASP that can be run on an Apache server running under Linux, but unless you're specific aim is to move an existing ASP Web site onto a Linux server, there is little point.
Another concern for ASP developers is the relatively limited nature of the components that come bundled with ASP. If all you need for your application is database connectivity, a search engine, email handling services, basic form processing and session tracking, then ASP will suit you just fine. Any less common functionality, however, will usually require you to install additional software components on your server. There are many companies out there that produce components for use with ASP that generate PDF files, interact with FTP servers, handle binary file uploads and many other things. Unfortunately, these components, like ASP, tend to be commercial solutions that will cost you money.
The upside of all this is that ASP is a very well supported technology, with all the backing of the Microsoft development community behind it. MSDN, the Microsoft Development Network provides a wealth of technical articles and reference material for ASP developers, and Microsoft support personnel will gladly investigate any problems you have in your development efforts (for a price). If at any time you absolutely need an answer to a question, you can rest assured there will be someone there whose job it is to give you the answer.
Advantages:
- Fairly easy to learn, though programming is required.
- Built into Windows 2000 Server -- no installation headaches.
- Professional support available.
Drawbacks:
- It's not free (unless you're already using a Windows server)
- Specialized functionality may require you to purchase commercial components, or develop them yourself in C/C++ or Visual Basic.
- If you're used to C-style syntax (shared by C/C++, Java, Perl, PHP, etc.), you may find the idiosyncrasies of VBScript difficult to come to grips with.
Target Developer:
If you've done any development with VBScript or Visual Basic, or have developed COM objects in Windows before, then this is definitely the Web development platform for you. Also, ASP is about as friendly to non-programmers as a programming language can get (but if you really hate programming, check out Cold Fusion, up next). If you're comfortable committing to Windows for your Web server platform and can afford the costs involved, or if the company you work for simply demands the level of support that Microsoft can provide, then ASP is a great technology to learn.