What is the .NET framework?
May 11, 2005 11:11 AM   Subscribe

What is the .NET framework? Some programs require it. Windows update wants me to get it. Do I need it? Should I stay away from it? Instead of reading fluff at MS.com I'd like some trustworthy people to explain it to me. Like the AxMe crew.
posted by Termite to Computers & Internet (12 answers total)
It is a set of shared classes that are necessary to run some programs which are written in .NET languages. Kind of like you need the JRE (Java Runtime Environment) to run Java programs. It's a virtual machine. It's a layer that lives in between the program and your operating system. If you have a program that requries it, you should download it. If you don't have such a program, you don't need it.

Obviously, you need it if you want to write .NET code.
posted by matildaben at 11:19 AM on May 11, 2005

It's essentially a bunch of common libraries. Like think a mess of DLLs. Having them allows you to run applications built on that framework, that make use of those common libraries.

It also includes the Common Language Runtime (CLR), which is like a Java virtual machine for the .NET framework, meaning it runs whatever application that is compiled into MSIL (Microsoft intermediate language). You can write .NET apps in many languages (C#, VB.NET, Perl, etc, etc) and using the .NET compiler, compile them into MSIL and the run them on any .NET-enabled device. Like how the Java virtual machine runs Java bytecode

It's like, the Big New Thing from Microsoft, y'see. Think of it as an answer to Java.
posted by xmutex at 11:19 AM on May 11, 2005

(Note, programmers, please do not jump on me for my loose use of the term "virtual machine." I was trying to explain in metaphorical terms a non-programmer might find useful, rather than striving for exact accuracy.)

Also, "requries" should be spelled "requires."
posted by matildaben at 11:21 AM on May 11, 2005

or, what the guy sitting 2 desks down from me just said.
posted by matildaben at 11:23 AM on May 11, 2005

You should probably get it, although it's really not all that important right now. It's basically Microsoft's version of java. In order to run java programs, you need to install java. In order to run .Net programs (.Net being their answer to java), you need the .Net framework. Unless your connection is slow, you probably have nothing to lose by installing it; it shouldn't mess up anything on your system. If you don't install it, you won't be able to run any programs that use .NET. The number of programs that make use of the framework is small, but it's getting larger, so you'll probably need the framework eventually, if not now.
posted by unreason at 11:26 AM on May 11, 2005

Response by poster: Thanks! One guy who explained .NET to me made it sound like something like Skynet, something to be avoided if at all possible.
posted by Termite at 11:26 AM on May 11, 2005

When ".NET" was first announced it was a centralised system where half your computing happened on Microsoft's servers. They've also called all sorts of other unrelated crap .NET .
posted by cillit bang at 11:34 AM on May 11, 2005

As someone who develops in the .NET framework for money,I advise you install with abandon :)
posted by xmutex at 11:58 AM on May 11, 2005

Response by poster: This clears things up. Thanks.
posted by Termite at 12:09 PM on May 11, 2005

.Net is a tragically chosen unnecessarily confusing name. I do have some sympathy for the marketing folks, since it isn't really a simple product.

.Net (loosely) is an program environment/framework developed as a response to problems of the software developer/IT sphere:

*Applications are complicated to deploy (and have play nicely with each other) in environments with other applications. .Net does a good job of packaging applications and the components they need to run together into better manageable and ordered units (Assemblies).

*Applications are hard to deploy to users and desktops. Something the web is great at and apps are not. Solving the security, etc issues with this makes the richer possibilities of apps more available to orgs with deployment concerns.

*Applications tend to be insecure
incorporating security permissions, managed memory, etc into the framework apps run in is an attempt to cut down on risk.

*It is overly complicated, so productivity is low, to rapidly develop applications for Windows. .Net offers a set of "cleaned up" interfaces and technologies for making it simpler to develop windows applications.

*Applications have changed since the 80's, so lets make all these more prevalent technologies easier to use. Hey lets incorporate network, database, etc into the system in a more logical way.

I am sorry if my explanation isn't great. While it is easy to write that .net is managed framework and runtime environment for applications, I think conveying exactly what that means in lay terms is difficult. The reason is the problems it addresses really are technical concerns. I know exactly what is going on but trying to convey it to an unknown person of indeterminate technical background is imposing.
posted by rudyfink at 12:47 PM on May 11, 2005 [1 favorite]

If you do try it out be prepared to roll back if necessary. It totally messed up the pen cursor movement on my Tablet PC and the only way to fix the problem was the ditch the framework.
posted by bruceyeah at 5:50 PM on May 11, 2005

Response by poster: I know exactly what is going on but trying to convey it to an unknown person of indeterminate technical background is imposing.

Don't worry, you found the right level for me. Again thanks everyone, you have cleared up the mystery around .NET.
posted by Termite at 11:33 PM on May 11, 2005

« Older Field trip ideas for high school math class   |   Say I had some cigars ... Newer »
This thread is closed to new comments.