views:

353

answers:

9

I know the differences between ASP and ASP.NET generally, as I am new to both, so I don't understand all of them, but I get the fact that ASP.NET is built on top of Microsofts .NET framework, and is the next generation of ASP, but it's built from the ground up.

W3Schools and another question here on SO provided great help explaining the difference!

I was wondering if it is worth it to fully learn Classic-ASP before diving into ASP.NET.

Why do people still use Classic-ASP? I've heard about the benefits which ASP.NET provides, and it seems like it would be worth it to switch.

Do people still use Classic-ASP because of server issues, or just because they prefer to work in it for some reason?

I would like some guidance on which I should start learning first, and why if anyone has any good suggestions?

UPDATE:

Thanks for the very helpful posts everyone! They gave me a great indicator of what is important, and why!

Thanks!!

+25  A: 

There's little or no point learning classic asp as a precursor to asp.net as whilst similar in some respects(the Server, Request, Response objects and their associated methods, etc), they're different enough that one doesn't serve as a gentle introduction to the other.

If you've no need to know classic asp, definately go with asp.net as it's "the way of the future", be it in its MVC or WebForms guise. The only reason I can think of, now, to learn classic asp would be to support a legacy application. I'd be very surprised if there's any new "greenfield" development being carried out in classic asp on any great scale. There's also a great question (that I provided an answer to) that will give you some info on the differences between asp.net WebForms and MVC that's well worth a read.

When it comes to deciding "which language" out of the choice of C# and VB.net, pick whichever you find most comprehensible, at least initially. You'd be advised to at least consider C# as examples, samples, tutorials and suchlike are much more readily available in it. One look at the C# tag vs. the vb.net tag (105,977 questions against 10,815) here on stackoverflow makes it quite clear which has the broader uptake.

Rob
+1 for a good answer. AND +1 for MVC.
rockinthesixstring
+5  A: 

Unless you have to work on an existing projects that already uses (classic) ASP I don't think it is worth the effort to learn. You could save yourself a lot of headache by stearing clear of that rather dated technology.

Even though the templating engines have similarities you will have to code your (classic) ASP pages in VBScript or JScript. In ASP.NET you will be using C# or VB.NET. The .NET platform is much richer than the COM based scripting platform.

Martin Liversage
+6  A: 

ASP.Net and Classic ASP really have nothing to do with each other. Yes, they are both technologies for building websites, but the relationship stops there. Incidentally, Classic ASP is more comparable to PHP than any .Net language.

Some people still have classic asp sites, but there aren't enough left to justify spending the time learning it... Unless you are already working on one. The main reasons any of those sites are still around is they still work (old bits don't exactly grow moss) and the cost to redo everything is high enough to not be justifiable.

Just learn C# and asp.net. Don't do VB.Net as it has a much smaller following.

Chris Lively
I agree, classic ASP is far more like PHP than asp.net or similar. I spend most of my time at work maintaining a legacy CMS written in classic asp, while searching desperately for something newer to replace it with :(
What
+4  A: 

Don't bother learning classic ASP unless you know for sure that you'll be working with it. Personally, I wish I could forget it. Stick with ASP.NET. Microsoft won't be going back to classic anytime soon.

adam0101
+2  A: 

Pretty much definitively not, no.

The last version of ASP was released nearly 10 years ago with a verison of IIS no longer being supported. All the various clones of ASP have also long since died, and basically the only reason it continues to exist is legacy support.

You do not want to base your future career plans on supporting dwindling and archaic code bases.

annakata
+4  A: 

I would so no, as classic asp is just going to teach you bad habits.

Joel Coehoorn
+2  A: 

Only if it is a walk down memory lane that you seek, or if you are an unfortunate soul having to maintain ASP Classic web sites.

ASP.NET nicely balances dev productivity, ease of maintenance, separation of concerns, and performance issues which were present in ASP classic.

At the same time, you might look at the earliest CGI generators on Windows - anyone remembering sprintf-ing HTML from C++. Ouch.

http://www.west-wind.com/Weblog/posts/1143.aspx

nonnb
+1  A: 

Platform itself isn't worth learning for new work--its ancient these days. It could be of some interest in a "understanding where we came from" and "understanding why all these old farts you work with have wierd self-defensive habits."

There is one good thing you can learn with it--how to handle classic HTTP request/response in the nude. ASP.NET MVC brings this back a little bit, but there is still quite a bit of abstraction and black magic surrounding it. Except when said magic fails and the abstractions start leaking and you need to understand the underlying transport . . .

Wyatt Barnett
+1  A: 

Like everyone else said, the short answer is: "no", you don't need to learn classic ASP. The long answer is: even the most complicated classic ASP site should be rewritten in a newer technology, whether from Microsoft or someone else. Time would be better spent analyzing the old application to get a list of requirements for a new application and learning how to make it work with the newer technology. The fact that a company is still using a site that is 10+ years old and is hiring someone to support it instead of replace it should be a red flag for every developer.

Silkster