FAQ: Classic ASP vs. ASP.NET

Published on
13,905 Points
16 Endorsements
Last Modified:
Aurelian Constantin
Web programmer-analyst since 2000; ASP, PHP, ASP.NET (vb & c#). Simple, effective and modular solutions with focus on expandability. Order.
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference:

Let's make the introductions...

Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interaction and server-side processing; this model is complementary to serving static web pages like well-known ".htm" files which mainly have fixed content, and opens a whole new world of possibilities in the web area. The ASP page have a mixed content of HTML and server-side VBScript (all in a single file).

Microsoft included ASP technology in every Windows version, from Windows 2000 to the latest. However, on newer versions of server operating systems, classic ASP is blocked by default (but this can be changed by server administrator).

By default, ASP pages have ".asp" extension and are using VBScript (which is a restricted and "light" version of Visual Basic programming language).

ASP.NET is the successor of classic ASP and implements a completely new model. Released in January 2002, this technology is actively supported by Microsoft in every Windows version starting with Windows XP and server-editions.

The new ASP.NET web pages have an ".aspx" extension. The dynamic program code is stored separately (using the code-behind model) in another file with an extension of .vb (Visual Basic) or .cs (C sharp), depending of the programming language used.

Comparing OLD and NEW

Classic ASP is similar to PHP in how it works and how it is written, where ASP.NET is more similar to the J2EE Servlet / Java Server Pages architecture.

Classic ASP is much more simpler than ASP.NET and very easy to learn, compared to ASP.NET (I personally learned classic ASP in just 5 days from a very good and short tutorial).

You can edit classic ASP even with Notepad.

ASP.Net is a a compiled application (resulting in DLL-type file), while Classic ASP is a script-based language. You don't have to compile anything in classic ASP, just upload the file to the server.

ASP.Net is also an event-based model implemented via a set of so-called server controls. In classic ASP, there are no server controls, you have to write everything manually (which I love, because it leaves me the freedom I need).

ASP.NET uses the "code behind" technique in order to keep business logic away from the presentation, while classic ASP does not force you to to that (but you can do it, with your own technique - e.g. you must write additional code - if you want).

In classic ASP, the client-server model is obvious: if you need to obtain an action on the client-side, you have to write JavaScript, CSS and HTML; if you want to process information on the server, you have to write VBScript (ASP). In ASP.NET these things are not so clearly separated, which may result in poor understanding and bad code.

The most important thing about ASP.NET: it is NOT fully ASP compatible, even if you might think otherwise.

If you are an ASP programmer and you love it, you may find very difficult to learn ASP.NET...

Real-life opinion

Tim Walton (Evesham Solutions) says: "The move to a .NET development environment was expensive and a far bigger change than many expected. The uptake was, and still is, much slower than Microsoft ever expected."

Also, he says: "ASP.NET for small to medium-sized websites is a huge overhead in many ways, and so for the foreseeable future I will be sticking with regular ASP for anything but the most complex of websites."  

This is one good reason he mention: "Regular ASP has the most lightweight development environment I have ever used - Notepad. Yep, that's all you need! Installation time? - It's already installed. Start up time? - It's running in an instant. Configuration? - Not needed. Availability? - Any PC ever".

Friend or foe?

ASP.NET has a tendency to auto-generate code. Is this a powerful and useful feature? You decide...

Just figures

Google says there are just 0.36 billion search results of ASP.NET while ASP gets 3.29 billion results.

The future

The proof that classic ASP is here to stay: there are many implementations of frameworks for classic ASP (Simplicity, CLASP) and even AJAX for classic ASP (called AJAXED).

A quick glance at the Google Insights for Search for keywords like 'ASP.NET' shows a markedly declining trend since 2004. I believe this is conclusive...

Final word

My opinion: despite appearances, classic ASP seems to be much more HUMAN than his younger brother (ASP.NET).

PS: If you find this article helpful, vote YES for it.
Ask questions about what you read
If you have a question about something within an article, you can receive help directly from the article author. Experts Exchange article authors are available to answer questions and further the discussion.
Get 7 days free