.NET vs ASP.NET vs CLR vs ASP

Solution 1:

  • 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

Solution 2:

The .NET Framework is a software framework from Microsoft which contains a large amount of base libraries (classes, functionality for developing software). The CLR - Common Language Runtime - what runs your code is also part of the .Net framework. Read more at Wikipedia

ASP.NET is a web application framework from Microsoft, which is part of the .Net framework.

CLR is the Common Language Runtime is the virtual machine that executes and runs code written for it. Read more about it at Wikipedia

ASP is a web scripting language from Microsoft that predates the .NET framework. Comparable to (older versions of) the scripting language PHP.

...in short.