views:

89

answers:

2

I have a classic ASP 2.0 project coming up. I mostly do ASP.NET WebForms and more recently MVC. I did a little bit of ASP many years ago.

Do you have any book recommendations? If I find a 3.0 book, would that confuse me too much?

Any specific resource on the net for getting up to speed that you recommend?

And lastly - how do you feel the transition will be from .NET to Classic ASP? Will I struggle with the concepts or do you believe this experience will allow me to hit the ground running?

Thanks.

+4  A: 

At the risk of being downvoted, I like classic ASP. For pages of low complexity, execution flow can actually be easier to understand. It's basically a code generator for HTML.

You're going to have to learn VBScript, which is effectively VB6. You'll also have to write COM wrappers for any .Net components you create (and you should create them, so that as little code as possible ends up in an end-of-life development system like Classic ASP).

ASP.net books are going to be pretty much useless in your endeavor. Google is going to be a lot less useful too, since much of the content out there is geared towards .Net. The last time I thought about ASP, the book everyone liked was this one. Good luck!

Chris McCall
And how about 3.0 vs 2.0 book? This is a 2.0 project; would I be safe with a 3.0 book?
Beavis
+1 for honesty; I like ASP3.0 too
Rubens Farias
+3  A: 

I spent many years developing in "classic" ASP prior to switching to ASP.NET.

Firstly, I'd say that don't worry about resources (i.e. books) being ASP 3.0 even if you're targeting ASP 2.0. For the vast majority of your development work and code, they are effectively the same thing. Yes, there are differences, but ASP 3 from ASP 2 was an "iterative" jump (and not much of a jump at that) - Similar to how (for example) VB9 is an iterative jump from VB8 (i.e. you can take everything you know about VB8 and it applies in VB9 - VB9 just adds a little more on top). IIRC, the biggest "jump" was ASP1.0 to ASP2.0 rather than ASP2.0 to ASP3.0.

ASP uses (by default) VBScript, which is effectively a cut down version of VB (VB from v5 or v6). At this time, revisions to the language were very iterative, so pretty much everything from VB5 applied to VB6. This is the same with VBScript (and thus ASP).

The major difference between "real" VB and VBScript is that VBScript is interpreted. Because of this, all of your objects are going to be late-bound. Don't except any compile-time type checking. There is no "compile-time"! There's also no real type system to speak of, everything is a variant.

On the plus side of this, it's incredibly easy to get up and running with a simple ASP application, and you'd need little more than Notepad (or some other rudimentary text editor) to create a simple ASP page that can be "run" on a web server.

One of the biggest problems with ASP, though, is that there's no real separation of your mark-up (HTML) and your code (VBScript). Each ASP page will essentially be some static HTML mark-up, with VBScript "injected" within that will effectively act as a "generator" for more, dynamically produced, HTML. This can be managed somewhat when the application is small and/or not too complex, but for anything of medium+ size and/or average (or greater complexity) it can become a real maintenance burden that the application's code and mark-up is so intertwined.

Interestingly, I found a couple of links which talk about using (or continuing to use) "classic" ASP, even in the "modern day":

8 Reasons to Stick with ASP 3.0 in 2006 (and 2007)
(a couple of years out of date, but mentions some of the advantages of ASP)

Classic ASP Framework - Make your Classic ASP code work like in ASP.NET
(a "framework" to be used with classic ASP to make it a bit more like ASP.NET - I've never used it, but it looks very interesting.)

An finally, for a good book on Classic ASP, I'd recommend:

Professional Active Server Pages 3.0

Active Server Pages 2.0 Unleashed

Also, be sure to check out the MSDN pages for the changes between IIS versions that will affect ASP:

Changes in ASP Features in IIS 5.1
Changes in ASP Features in IIS 6.0

CraigTP