Classic ASP vs ASP.NET
By Stephen Bucaro
You may wondering "what's the difference between ASP and ASP.NET?". ASP.NET is
the successor to ASP. When you take away all of the marketing hype, ASP.NET
was developed because Microsoft's (COM) Component Object Model wasn't reliable
over networks (especially the Internet), and Microsoft wanted to promote C#,
its replacement for Java.
COM requires software objects to be listed in the computers registry. This works
satisfactorily if the calling program and the object are on the same machine,
but if a client computer wants to use a software object on a server, it has
to look up that object in the servers registry. I remember many times keeping
my fingers crossed hoping that would work.
Today network and Internet clients and servers use SOAP (Simple Object Access
Protocol) which uses (XML) eXtensible Markup Language to communicate to each
other about what software objects are available and how to access them. This
whole process now know as "Web Services".
Another difference between Classic ASP and ASP.NET is that ASP is "interpreted",
while ASP.NET is compiled. When you run an interpreted language, the source
code is parsed and executed on the fly each time the program is executed. When
a language is compiled, the source code must be converted to the computer's native
binary language before it can be executed. This takes time, but after the compilation,
the machine code program runs much faster.
In the early days when computers were much slower, you had to compile a program
if you wanted respectable performance. But when computers became faster and more
powerful, interpreted languages like VBScript and JavaScript provided acceptable
performance. But despite today's computers being even faster and more powerful,
code needs to be compiled to achieve acceptable performance.
Another difference between Classic ASP and ASP.NET is that ASP.NET is an "application
framework". Basically this means it uses code libraries and a modular structure.
For example there is a module called the (CLR) Common Language Runtime between the
ASP.NET code and the machine that converts the ASP.NET code to the computer's native
binary language before it can be executed.
So Which Should I Use, Classic ASP or ASP.NET?
If you want to develop a dynamic Web site where services are provide and consumed
by your local web server, in other words you are not providing Web Services to
other servers on the Internet and you are not accessing Web Services provided
by other servers on the Internet, then I would recommend using Classic ASP. I
say this because the complexity is much lower.
COM works perfectly fine between a Web server and Web Browsers, except when
a COM DLL needs to be updated, then the Web server needs to be restarted in order
to register the COM objects in the DLL. Most ASP COM objects are very mature
today, so updates should be rare.
The difference between "interpreted" and "compiled" is mostly hype, because the
Internet uses HTML and XML, both which are required to be "parsed", in other words
"interpreted".
With Classic ASP you can design a very powerful Web site without having to figure
out how to use a complicated IDE (Integrated Development Environment). You can
just type easy to understand VBScript or JavaScript into Web pages using notepad.
However, if you plan to provide or consume Web services, you will probably want
to go with ASP.NET. To develop your Web site you can use Microsoft Visual Web Developer,
the Express version which you can download from Microsoft's Web site for free.
|