from what ive heard in encourages lazy coding techniques but is powerfull none the less :)
Hmmm, obviously you have never used it. I would be interested to hear more about how using it encourages lazy coding. IMO using ASP.NET vs using Classic ASP makes the programmer better at coding.
You are right in one thing. ASP.NET is much more powerful than classic ASP.
Classic ASP uses scripting languages on the server side and has support for VBScript and JScript built in, and has extensions to use python and PerlScript. Most people will use VBScript. ASP.NET use the complete version of the language, and supports any.Net compliant language including APL, C++, C#, COBOL, EIFFEL, FORTH, FORTRAN, JAVA, JScript, PASCAL, PERL, PYTHON, RPG, VISUAL BASIC 7. Most people use VB.Net (VB 7) or C#.
In classic ASP using VBScript as the server side language, all variables are of the type variant, and do not have to be declared before use. Leading to lazy programming techniques. In ASP.NET variables must be declared and typed before use.
Code in classic ASP is interpreted by the ISA server. Code in ASP.NET is compiled, therefore runs faster.
Code in classic ASP is quite often intermingled with html on the page. Code has to be placed where you want the output to appear. (If done with sub routines the call to the sub routine is placed where the output is to appear.) ASP.NET code is often in a seperate code behind file, or it is in a script block at the top of the page. If you are working in a team environment the person doing the HTML can make changes to layout etc without effecting the code.
Classic ASP uses COM objects to accomplish things like database connections, uploads, email. These COM .dll's must be registered on the server, the server will need to be stopped and restarted before they can be used. ASP.NET doesn't need COM objects to do any of these.
In classic ASP, display of data from a database generally uses a recordset and a loop to naviagate each row of the database. In ASP.Net database display is done using either the DataGrid, DataList, or Repeater. These are all web controls. Database display never uses a loop.
Debugging in Classic ASP is difficult without Visual Studio. VBScript offers On Error Resume Next, the errors generated are vague at best. VB.Net uses the Try Catch error handling block. Errors produced are not vague and show the code and the line number as well as a detailed description of the error.
Those are some of the differences others may point out more.