Updated 23-Jul-06 (~2 years later): Added link to download .NET 2.0 Redistributable.
What is Microsoft .NET? Is there a definition that can be hopefully be understood by all. One that cuts across the confusion of named .NET products and technologies like ASP.NET and ADO.NET (let's not mention Microsoft's bright idea of calling all their server products .NET just to confuse everyone).
Too many people I deal with, from executives to developers have either no real idea or an erroneous one - years after .NET's release. That's not helped by pages like this, which are really only good at explaining .NET to people who already know what it is.
Here's what I explain:-
Microsoft .NET is a runtime environment that supports the execution of program code written in .NET languages.
A .NET application running on your system appears as any other, but requires that the .NET runtime be installed on your system. The .NET runtime "manages" certain aspects of the running application for you - like security and the execution environment. The environment is either already installed on your system, or is a 23Mb (free) downloadable product.
.NET code as well as traditional (non-.NET) Windows code, can be used by other applications - both .NET and traditional. A huge library of code is included with .NET which enables software developers to program Windows systems in an efficient and consistent way. Because the .NET environment "manages" much of the underlying "plumbing" required by any any application, the task of writing a Windows application is significantly easier.
Microsoft ASP.NET is simply the name for .NET code written by Microsoft to support web type functionality on a web server. As a .NET application, the web server must have the .NET environment installed, but people simply accessing a website through a browser do not. ADO.NET is simply the name for .NET code written by Microsoft to support access to data related services.
In the future, more and more code running on Windows systems, including functionality provided by the Windows operating system itself, will be running within the .NET environment.
.NET is also referred to as the .NET Framework.
Parts of this are of course simplistic, but the intended audience is often non-technical. I'd be interested in any suggestions that helped make this description easier to understand.