ASP pages embed code in the actual HTML source of the pages themselves for the most part. Unlike JavaScript, ASP pages can refer to external coding objects, and ASP methods can pull in different interpreted language parsers.
There are significant differences between ASP and ASP .NET frameworks. These differences have caused some to refer to 'ASP' as "Classic ASP". Classic ASP is primarily an interpreted language, which means that convoluted programs can take up inordinate amounts of server CPU and memory capabilities.
ASP .NET is a compiled language; it doesn't go through a full linking and compiler routine, but is compressed and run down as byte code for improved performance (a feature it shares with the Python programming language).
Like ASP Classic, ASP .NET can run with any of the languages supported on IIS; rather than thinking of ASP as a programming language, ASP Classic can be thought of as a way to either embed programs in HTML files for dynamic content, or as 'glue code' that allows dynamic data to be imported. ASP .NET both improved the performance of ASP's fundamental framework, and broadened the scope of languages that can be used within it.
If you're looking to become an ASP programmer, know that ASP Classic, while on its way out, is still something that has billions of legacy pages extant on the web. Knowing both methodologies means that you've got a good toolkit, though, if uptake on .NET is any indication, you'll do the bulk of your work in the more modern partially compiled environment.
The advantage of becoming an ASP .NET programmer is that you'll gain a set of portable skills for any Microsoft server environment. The drawback is that while Classic ASP allows people with programming habits picked up from Visual Basic for Applications to 'step right in' to dynamic web content, ASP .NET is a much more structured (and unforgiving) environment. The upside of this is that the code will run faster, and the security model is significantly more robust.
To become an ASP programmer, the first thing you'll need to do is get some practice time in. You can find tutorials on the Internet that will walk you through the basics of the language, and show you how to make various elements of it work together. Many of them will have you do very basic examples; the purpose of these tutorials isn't to get something 'useful' done, it's to show you where the tools in the tool kit are for developing a better environment.
While "quick and dirty" ASP code is doable in the ASP Classic environment, that sort of coding methodology is regarded as suboptimal. ASP is renowned for making web sites that work - but which aren't maintainable in the long haul.
ASP .NET forces programmers to think more about long term code maintainability, which is one reason why it's rapidly supplanting ASP Classic in most production environments. While it offers performance enhancements and security models, most employers have been burned by too many mission critical web pages put together in a rush and then left in a state where the code that makes them run is nothing but a mess of spaghetti.
Even if you're writing nothing but ASP Classic code, take the time to document what it is you're doing. Write comments, and take the time to keep a text file handy explaining what each subroutine is supposed to do. While it's clear in your mind now, it's going to be harder to piece it together in three months when you have to make a change.
Next, start with the simplest program possible. Rather than make one program that does 'everything under the sun', make several small programs and call them from ASP pages as needed; this (if done conscientiously) makes your ASP programming much easier for other programmers to follow.
Most of the work available for Classic ASP programmers is maintenance work; you'll be taking over messes on other web sites and trying to figure out what other programmers have done. You may also be involved with a migration to ASP .NET as a coding environment for future development.