<

Go Premium for a chance to win a PS4. Enter to Win

x

FAQ: Classic ASP vs. ASP.NET

Published on
13,180 Points
5,580 Views
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.
16
Comment
13 Comments
 
LVL 21

Expert Comment

by:Dale Burrell
I did all my classic asp in javascript thank you very much :)
0
 
LVL 21

Expert Comment

by:Dale Burrell
And I believe asp classic was supported from Windows 95.
0
 
LVL 21

Expert Comment

by:Dale Burrell
Gosh I wish I had more time to respond... but I think you've got it all backward... asp.net is easier to learn and more straight forward that asp, you can easily use notepad for asp.net applications, there is no requirement for a DLL type solution, in asp.net everything is very clearly separated, in asp its a big file of mixed up madness. Code behind is optional in asp.net. As for the rest... no idea where you got those numbers from, but asp.net has been widely taken up, and asp is rarely used today.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 5

Author Comment

by:Aurelian Constantin
@dale_burrell
Thank you for your comments, it's good to see that the dispute is still of interest.

The numbers I got from simple Google search, you can do it any time. Search for ASP and read the total number of results, then search for ASP.NET and do the same.

I was really fascinated of ASP and this is my first "love". ASP.NET seems to be cumbersome and not so clear, maybe too complicated, but this is only my personal opinion.

I both use ASP and ASP.NET, but I prefer the classic one.
0
 
LVL 21

Expert Comment

by:Dale Burrell
I don't think doing a google search would count as a statistically valid way of determining which technology is used the most :)

Having used both asp and asp.net extensively I can only think that maybe you haven't seen good examples of asp.net? I cannot think of a way that asp.net would fail to be clearer and easier to follow that asp. Its certainly not complicated or cumbersome.

And I could strongly recommend anyone reading this to go with asp.net  if they are making the choice now. To be honest I can't imagine anyone deciding to start using asp now... I can only imagine people getting forced into maintaining existing systems.

The best thing about asp.net is its part of the integrated .net environment which allows you to write shared code that can be used by websites and windows apps alike. And its a fast moving environment with a lot of support.

There are many other development environments whichdo  warrant consideration when building a website e.g. ruby on rails... but I wouldn't class classic asp as a consideration.
0
 
 

Administrative Comment

by:WaterStreet
Hi dale_burrell.


I'm one of EE's Page Editors who help authors publish their articles here.

I thought your comments were interesting

I don't know how much you are aware of EE's Article System, but it gives members a good  forum for expressing their expertise, or view on a technical topic, and getting more points at the same time (maybe a lot).  You can find more information, and submit article content, through the Article TAB at the top of each EE page.  Article Guidelines are at http://www.experts-exchange.com/articlesGuidelines.jsp?cid=1689.  You would be able to say you have published an article on the Internet.


WaterStreet,
Page Editor
0
 
LVL 7

Expert Comment

by:Gewgala
When you do a search for "asp" in google, I think the reason why the results are so high is because you are also returned all the hits of sites that contain "asp.net".  After all, "asp" exists in the first part of "asp.net".  

I am afraid I have to disagree with a lot of the points made in the article, too.  Pretty much what @dale_burrell said.
0
 
LVL 5

Author Comment

by:Aurelian Constantin
@Gewgala
There is no mistake: please type in the Google search box
ASP -.NET

Open in new window

this means that the results containing .NET are omitted.

Then repeat the search now with the term
ASP.NET

Open in new window

0
 
LVL 18

Expert Comment

by:Antonio Estrada
Gee, we're comparing apples and oranges here. Sure, they both serve the same need but they take a whole different approach.

Let me say that I've been using Classic ASP extensively for the past 8 years or so (and I still do) and I do like the simplicity it brings, but I totally loathe the lack of modern development structures (inheritance? good luck, JSON objects? sure thing, server side includes can't have arguments), of course some things can be done entirely from scratch but the classes are a joke.

If Classic ASP had evolved a bit like php, it would probably reign, despite the fact that .NET is completely object oriented, and designed for MVC.

So... no, you can't really compare them, sure they share the name "ASP" and they were both developed by Microsoft but they do totally different things. Classic ASP was pretty much abandoned when Microsoft decided to build .NET, but for small projects it's still pretty good. If you need to build a robust system however, Classic ASP is not the one for the job.

-V
0
 
LVL 28

Expert Comment

by:sybe
Some point:

asp.net code is much more complicated then classic asp. It requires much more lines of code to get things done, and after a few years of doing asp.net, I haven't figured out how to do some things that are really simple in classic asp.

* Starting from a connectionstring, find out which DBMS this connects to.
In Classic ASP it's easy:
-
    sDSN = "someconnectionstring"
    Set oConn = Server.CreateObject("ADODB.Connection")
    oConn.Open sDSN
    sDBMSName = oConn.Properties("DBMS Name")
-

Of course it must be possible in Asp.Net too, but I haven't tried very hard, and the times I tried I got quickly lost in low level classes.

* What about doing a simple GET or POST to another url?
Classic ASP gives the responseText in 6 lines of code while using a single object.
ASP.Net requires at least 10 lines of code, and needs 5 different objects.

* Oh, and can somebody help me with a fast method to incorporate the XML from a "FOR XML" query into an existing XMLDocument. I can do it, but it involves transferring the query result along a couple of instances of different classes, on the way the result has to be validated (which should not be necessary because it is the result from a FOR XML query). The XML-objects are hopeless in ASP.Net anyway. There are so many of them and there is usually no easy way to get the xml from one object to another.


I know, classic asp has its errors and limitations. I learned to work around them. For most websites, asp.net is a huge overkill. Most asp.net "programmers" turn to webforms, which is a point-and-click interface, producing horrible html-source code and resulting in posting back the complete HTML of the page (encrypted) back to the server on every click. And once things are a little bit out of the ordinary, very complicated solutions need to be found. Helpsites are for that reason very much focussed on providing self-programmed controls which each solve a specific issue. Such as support for the <optgroup> tag, which curiously is missing in asp.net.
0
 
LVL 11

Expert Comment

by:G_H
To be clear from the start, I am on "Team Classic".

I have been using Classic ASP since Alta Vista was the search engine of choice... (Yes I feel old!)

As with most things in life, one size does not fit all. And as mentioned above, this is a little "apples vs. oranges".

The following also comes with an health warning: To compare code properly, you must compare good-code with good-code.

There is a certain simplicity to Classic ASP (in VBScript in my case). It is very easy to understand, and follow, probably because of it's "basic" roots. This, along with code-in-code (which I rarely use now) makes it very easy to read. It also cuts a very clear line between server- and client-side.

Personally I have developed code over the years which I still use today. There are functions in my collection which just plain work. Everyday. Why on earth would I want to give these up, just so I can use a language which is a few years newer..?

There are very few things I have not been able to achieve in Classic ASP. I did need to turn to PHP for re-sizing images, but that is about all I can think of...

Successes include: Uploadify in ASP, Full EMail control panel front-end for Mailenable, Endless MySQL Connections, JavaScript Menus written on-the-fly, Hardcore AJAX, yarda yarda yarda...

I think there is a place for ASP.NET in this world, but how often do you take the code from your website, and port it to an application..? If one in a hundred actually do this without major modifications, I would be amazed...

GH
0
 
LVL 10

Expert Comment

by:Banthor
I use all of the above depending on the needs of the client and implementation. While the nuts and bolts can be compared ad nauseam, the issue is simple.  If you have security concerns PII/Hipaa/financials you have to be on windows platforms with AD.
"Linux is not a securable platform for public consumption" -NSA

If your presentation requires controls that need to be valid against data changing outside the scope of the client. you have to use some form of server-side controls. []NET does this very well.

Scripting Language sites will out-scale managed code every time, because resources are only consumed as needed.
I have had 1500+ concurrent users against a 4 core server on classic asp including the SQL Server instance and never reached 30% CPU.  

Lamp solutions just don't have the toolsets for monitoring and performance metrics to bother with comparing them.
0
 

Expert Comment

by:Relu301
Great article! Thank you for this, I am just a beginner in web technologies and wanted to know more of both "sides" to decide which one to learn. I will start with classic ASP, it seems easier than ASP.NET, although I value the "drag and drop" idea used in Visual Studio .NET to build ASP.NET pages - but I don't mind writing code since I already use HTML, JavaScript and CSS. That's why my next step is classic ASP, and not ASP.NET.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Join & Write a Comment

this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses
Course of the Month10 days, 3 hours left to enroll

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month