.NET vs ASP.NET vs CLR vs ASP

  • ASP, Active Server Pages (now referred to as ASP Classic) is a server-side scripting environment that predates .Net and has nothing to do with it
    ASP pages are usually written in VBScript, but can be written in any language supported by the Windows Scripting Host - JScript and VBScript are supported natively, with third-party libraries offering support for PerlScript and other dynamic languages.

  • .Net is a framework for managed code and assemblies
    .Net code can be written in any language that has an CIL compiler.

  • CLR, Common Language Runtime, is the core runtime used by the .Net framework
    The CLR transforms CIL code (formerly MSIL) into machine code (this is done by the JITter or by ngen) and executes it.

  • ASP.Net is a replacement for ASP built on .Net
    ASP.Net pages can be written in any .Net language, but are usually written in C#.

Other terms that you didn't ask about:

  • CIL, Common Intermediate Language, is an intermediate language that all .Net code is compiled to.
    The CLR executes CIL code.
  • CLI, Common Language Infrastructure, is the open specification for the runtime and behavior of the .Net Framework
  • Mono is an open-source implementation of the CLI that can run .Net programs
  • ASP.Net MVC is an MVC framework built on ASP.Net