Jul 20


I was having lunch recently with a colleague when he asked, “Are you still messing around with that .NET stuff?” I could tell by the tone of his voice that he—like many computer users—still viewed .NET with suspicion.

And perhaps with good reason. Purposefully kept separate from the Windows operating system, the 22MB Microsoft .NET Framework is an hour download on dialup and four minutes on broadband. For .NET developers, this extra step adds one more hurdle for a potential customer to overcome when purchasing our software.

So in this article I attempt to demystify .NET, encourage you to download the latest version of the .NET Framework so you can run the latest and greatest .NET software, and help convince Microsoft that it needs to ensure every PC user has the newest .NET.

What is Microsoft .NET?

Microsoft .NET is simply something you need on your Windows PC to run our software.

OK, really, what is .NET?

Microsoft .NET (pronounced “dot net”) is a software component that runs on the Windows operating system. .NET provides tools and libraries that enable developers to create Windows software much faster and easier. .NET benefits end-users by providing applications of higher capability, quality and security. The .NET Framework must be installed on a user’s PC to run .NET applications.

This is how Microsoft describes it: “.NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software. Integrated across the Microsoft platform, .NET technology provides the ability to quickly build, deploy, manage, and use connected, security-enhanced solutions with Web services. .NET-connected solutions enable businesses to integrate their systems more rapidly and in a more agile manner and help them realize the promise of information anytime, anywhere, on any device.” See Microsoft for more information.

What is the .NET architecture?

Microsoft .NET consists of four major components:

  • Common Language Specification (CLS) – blue in the diagram below
  • Framework Class Library (FCL) – red
  • Common Language Runtime (CLR) – green
  • .NET Tools – yellow

.NET Architecture

At the base of the diagram in gray is the operating system, which technically can be any platform but typically is Microsoft Windows 2000 or greater, accessed through the Win32 API (Application Programming Interface).

Common Language Specification (CLS)

The CLS is a common platform that integrates code and components from multiple .NET programming languages. In other words, a .NET application can be written in multiple programming languages with no extra work by the developer (though converting code between languages can be tricky).

.NET includes new object-oriented programming languages such as C#, Visual Basic .NET, J# (a Java clone) and Managed C++. These languages, plus other experimental languages like F#, all compile to the Common Language Specification and can work together in the same application.

Framework Class Library (FCL)

The FCL is a collection of over 7000 classes and data types that enable .NET applications to read and write files, access databases, process XML, display a graphical user interface, draw graphics, use Web services, etc. The FCL wraps much of the massive, complex Win32 API into more simple .NET objects that can be used by C# and other .NET programming languages.

Common Language Runtime (CLR)

The CLR is the execution engine for .NET applications and serves as the interface between .NET applications and the operating system. The CLR provides many services such as:

  • Loads and executes code
  • Converts intermediate language to native machine code
  • Separates processes and memory
  • Manages memory and objects
  • Enforces code and access security
  • Handles exceptions
  • Interfaces between managed code, COM objects, and DLLs
  • Provides type-checking
  • Provides code meta data (Reflection)
  • Provides profiling, debugging, etc.

.NET Tools

Visual Studio .NET is Microsoft’s flagship tool for developing Windows software. Visual Studio provides an integrated development environment (IDE) for developers to create standalone Windows applications, interactive Web sites, Web applications, and Web services running on any platform that supports .NET.

In addition, there are many .NET Framework tools designed to help developers create, configure, deploy, manage and secure .NET applications and components.

What is the history of .NET?

.NET started as a classic Microsoft FUD operation. In the late 1990s, Microsoft had just successfully fought off a frontal assault on its market dominance by killing the Netscape Web browser with its free Internet Explorer. But Microsoft was facing a host of new challenges, including serious problems with COM, C++, DLL hell, the Web as a platform, security, and strong competition from Java, which was emerging as the go-to language for Web development.

Microsoft started building .NET in the late 90s under the name “Next Generation Windows Services” (NGWS). Bill Gates described .NET as Microsoft’s answer to the “Phase 3 Internet environment, where the Internet becomes a platform in its own right, much like the PC has traditionally been… Instead of a world where Internet users are limited to reading information, largely one screen at a time, the Phase 3 Internet will unite multiple Web sites running on any device, and allow users to read, write and annotate them via speech, handwriting recognition and the like,” Gates said. We are certainly approaching that vision.

Microsoft announced .NET to the world in June 2000 and released version 1.0 of the .NET framework in January 2002. Microsoft also labeled everything .NET including briefly Office to demonstrate its commitment and dominance on this new thing called the Web. But out of that grand FUD campaign emerged the very capable and useful .NET development environment and framework for both the Web and Windows desktop.




What are the benefits of .NET?

.NET provides the best platform available today for delivering Windows software. .NET helps make software better, faster, cheaper, and more secure. .NET is not the only solution for developing Web software—Java on Linux is a serious alternative. But on the Windows desktop, .NET rules.

For developers, .NET provides an integrated set of tools for building Web software and services and Windows desktop applications. .NET supports multiple programming languages and Service Oriented Architectures (SOA).

For companies, .NET provides a stable, scalable and secure environment for software development. .NET can lower costs by speeding development and connecting systems, increase sales by giving employees access to the tools and information they need, and connect your business to customers, suppliers and partners.

For end-users, .NET results in software that’s more reliable and secure and works on multiple devices including laptops, Smartphones and Pocket PCs.

Why are you (this blog author) developing in .NET?

The Mini-Tools developers were impressed with the Microsoft .NET technology and development platform and felt it provided the best environment with which to build and deliver innovative desktop and Web software for Windows. All of our software is written in C# for .NET on Windows.

Why should I install .NET on my computer?

Because many new software applications require .NET. Having the latest version already installed on your computer enables you run new .NET applications immediately as they become available.

Which versions of .NET are available?

The newest version available today is NET v3.0, but most PC users have v2.0 installed.

Although .NET v3.0 is now available, Windows Update is not automatically installing it, hence few people have it. People who purchase new PCs with Windows Vista pre-installed will receive the latest .NET v3.0 but there may be some versioning issues. Microsoft released a beta version of .NET v3.5 in April 2007.

Following are the production versions of .NET:

Version Name Version Number Release Date
1.0 1.0.3705.0 2002-01-05
1.0 SP1 1.0.3705.209 2002-03-19
1.0 SP2 1.0.3705.288 2002-08-07
1.0 SP3 1.0.3705.6018 2004-08-31
1.1 1.1.4322.573 2003-04-01
1.1 SP1 1.1.4322.2032 2004-08-30
2.0 2.0.50727.42 2005-11-07
3.0 3.0.4506.30 2006-11-06

How do I know if I already have .NET?

We have queried your Web browser, and it tells us that you have the following .NET versions installed on your PC (note this only works for Internet Explorer):

Another way to check if you have .NET:

  1. Click Start on your Windows desktop.
  2. Select Control Panel.
  3. Double-click Add or Remove Programs.
  4. When the Add/Remove window appears, scroll through the list of applications and try to find Microsoft .NET Framework. There you will see which versions of .NET are installed on your PC.

Where can I get .NET?

Microsoft .NET is available as a FREE download from Microsoft.

Why is .NET separate from the Windows operating system?

Another way to ask this question is, "Why doesn't Microsoft ensure every Windows PC has the latest version of .NET installed?" Since .NET is so important to Windows, and Microsoft delivers both .NET and Windows, why doesn't Microsoft simply make .NET part of Windows?

Just my theory, but it probably stems from the Sun vs. Microsoft bad blood over Java. Sun and Microsoft got into a legal spat, Microsoft stopped shipping Java with Windows, and so now Java is a separate download for Windows users. As a result, perhaps Microsoft is wary of appearing monopolistic, hence they maintain the .NET Framework as a separate download too.

Why is this a problem? Because it is a large file that must be downloaded and installed separately, naturally many people view .NET with suspicion or at least hesitation. And this provides an inconvenience and yet another barrier for a potential customer purchasing our .NET software. So here's my plea:

Microsoft, please include the latest version of .NET as an automatic download to every Windows PC as part of the normal Windows Update process. Thank you.

Will .NET cause problems on my computer?

No. Once .NET is installed, you do not have to do anything to manage it, and .NET should not adversely affect the operation of your computer.

What should I do now?

Download and install the latest version of .NET! :-)

Links

Popularity: 22% [?]

Related posts:

  1. FAT .NET
  2. .NET Installed on Almost 80% of Windows PCs
  3. Visual Studio 2008 and .NET 3.5 Released
  4. Windows SDK for Windows 7 and .NET Framework 3.5 SP1: RC
  5. Microsoft to Share .NET Framework Code


Tags: , , , , , , , , , ,

51 Responses to “What is .NET?”

  1. FLYabroad Says:

    good tks!

  2. FAT .NET Says:

    [...] .NET on every PC as part of the normal Windows Update process.  As I discussed in my article, “What is .NET?”, Microsoft’s reluctance to include .NET as a standard component of Windows probably stems from the [...]

  3. prasanna Says:

    hi sir,
    excellent explanation about .net.Really i donot know about .net and i m searching for details.

    Thank u sir,

    prasanna

  4. waqar Says:

    very good n precise easy to memories very help full in interviews

  5. What is “.net” (Dot net) « Ruminations of Harsha Says:

    [...] January 4, 2009 — hmt34 Here is a nice post on .net to read more, follow this link What is Dot net Posted in [...]

  6. Ravi Says:

    1) Are the newer versions of .net backward compatible i.e. will work on older MS windows operating systems?

    2) Do older versions of .net apps work well in newer versions of MS OS such as Vista?

    3) Why go to version 3 or 3.5? Is there a lot of retrofitting required to go from versions 1 to 3 or 2 to 3?

    Thx

  7. timm Says:

    1) Are the newer versions of .net backward compatible i.e. will work on older MS windows operating systems?

    .NET 2.0 will work on Win 98, ME and 2000. But .NET 3.5 dropped support for these older OSes and only supports XP and newer. See:

    http://msdn.microsoft.com/en-us/library/bb882520.aspx

    2) Do older versions of .net apps work well in newer versions of MS OS such as Vista?

    In my experience, yes.

    3a) Why go to version 3 or 3.5?

    In case you want to use the new features in .NET 3.x such as LINQ, WPF, WF, Voice, etc.

    3b) Is there a lot of retrofitting required to go from versions 1 to 3 or 2 to 3?

    Except in rare cases, little work is needed to move forward in .NET versions.

  8. smita Says:

    hiii sir,
    i liked .net that you have written. marvallous job.

  9. Pradeep Says:

    Nice article, has lot of very good basic information of .net, specially for beginners…..

  10. mudit Says:

    hi i,m a student, in an engineering college….
    i,m in 1st year… i jus know c.. n faint idea about c++..
    but i want to learn .net can i learn it without learning any oop language…
    please reply to my question

  11. timm Says:

    The main .NET languages — C# and VB.NET — are both object-oriented languages. There are some .NET functional languages like F#. But if you are a college student and want to best prepare yourself for a career in programming, you should definitely learn OOP. It’s really not that hard and is much preferred over functional languages for large systems. That way you’ll be ready when you enter the job market to work with C# or Java, etc.

  12. Ashish Says:

    I am IT student i have to give the presentation on .net. I am great thankful to you because after i read your blog i am now statisfied.
    Keep the good work in upcoming days.I hope that you include more information on .net.

  13. Joe Says:

    This is a nice overview for .Net.

  14. A New Galaxy: Works Cited Says:

    [...] “What is .NET?” DevTopics. 2007. 26 Mar. 2009 <http://www.devtopics.com/what-is-net/>. [...]

  15. Nothando Says:

    1.Which Microsoft operating system was the NET Framework version 1.0 release for?
    2. what is IDE?
    3. List and discuss 2 principal design features of the Framework.

  16. timm Says:

    1.Which Microsoft operating system was the NET Framework version 1.0 release for?

    Windows XP was the newest OS available when .NET 1.0 was released in January 2002. However, it also ran on Windows 2000 and NT 4.0.

    2. what is IDE?

    Integrated Development Environment
    http://en.wikipedia.org/wiki/Integrated_development_environment

    3. List and discuss 2 principal design features of the Framework.

    Do you have an assignment for school? ;-)

    Design Feature #1: Common language specification. The CLS integrates code and components from multiple .NET programming languages into a single program, which can theoretically run on any operating system that supports .NET.

    Design Feature #2: Managed code. Managed code executes under the management of a virtual machine, unlike unmanaged code, which is executed directly by the computer’s CPU. The benefits of managed code include programmer convenience and enhanced security guarantees.

  17. sateesh Says:

    superb block,,,,,,,i just loved it…sir can u plz include asp.net in diz

  18. Vimala Says:

    It’s very simple and very informative, and thank you so much for the information.

  19. Minnie Says:

    Wowiee!!!! Thankyou Sir! Didn’t even find a simple definition of .NET in black book of C# . NET……… Simply liked your blog. Thankyou once again…..

  20. shankey Says:

    awesome work….i had to appear for ma internals on .net…i was unaware of the facts n use of .net but this stuff got me many things..really thanx for this work..this helped me a lot..keep up the good work

  21. Amit Saxena Says:

    It was really a simplest and the easiest definition for .net. Thanks a lot..

  22. chacko Says:

    great sight…. really digestable. thanxs

  23. Sankeerthi Says:

    Thanq Sir for giving the great ideas from the beginning of .net…….
    Keep p ur work……

  24. praveen Says:

    tahanqqqqqqqqq sir

  25. amrita Says:

    ya thank you sir for putting so much of information abt .net
    i am willing to make my final year project in .net
    so had no clue abt .net but as people say .net is in u shud noe abt it
    i felt making project in it is the best way to learn it
    u provivded with good and provocating information abt.net…
    thanks a lott…

  26. Mythili Says:

    what is .NET???

  27. Samiran Says:

    nice to attach with you . it will better if the difference between the versions ware more clarified. thank you…

  28. Nikhil Says:

    give more details about the .NET platform. thanks a lot( nikhil&samir a nice guy)

  29. Sourav Says:

    very nice sir..

  30. suvi Says:

    hai sir!!!!
    really the information which u presented is useful for us.pls bring out some new kind of idea also.
    thank u……….

  31. sanjayt patel Says:

    very nice and satisfactory…………
    thanks

  32. Gaurav Says:

    Thank You

  33. Rupam Says:

    Thank u so much, u hav done a gr8 job. Thanx again.

  34. Sheetal Says:

    Useful information thank you

  35. sandeep Says:

    thanx sir,

    Before reading this article i have no idea about .net.

  36. Manoj kr singh Says:

    thanx sir so for nice work on .Net

  37. vinaykumar Says:

    dear sir
    ii am biggner in .net. i want info that how learn .net&what is learn 1st

  38. Josh Says:

    I dnt understand the ur .net. Ple explain the briefly

  39. Daniel Says:

    My system shows 3 versions:
    Microsoft .NET Framework 2.0, 3.0, and 3.5
    Should it just have one version?
    Can I safely delete the apparent “older” versions and simply have Framework 3.5 SP1?

    Thanks! Your general .NET discussion was very good.

  40. Cas Says:

    In my Add/remove programs I have:
    Microsoft .Net Framework 1.1
    Microsoft .Net Framework 2.0 Service Pack 2
    Microsoft .Net Framework 3.0 Service Pack 2
    Microsoft .Net Framework 3.5 SP1

    I am running XP
    Windows 5.1 (Build 2600.xpsp_sp3_qdr.090804-1435:ServicePack 3
    MS Office 2003

    I am currently having problems with MS Updates where 8 updates have not installed for months.
    There are hundreds of posts in various forums with about the same amount of recommendatoins to fix it. (All related to these 7 security updates and 1 junk mail update)

    There are several that talk about uninstalling .net and reinstalling it. Or maybe not reinstalling it at all.
    I wanted to at least try this as I have tried several of the other suggestions.

    1. Which of the .NET can I safetly remove.
    2. Can I safetly remove all of them?
    3. Have you heard of the problem with MS updates not installing?

    Good explanation of .NET … Thanks

  41. Sheen Says:

    ITs gr8………………………..Thank u so much 4 giving such a grb help.Keep it up!!!!!!!!!!!!!

  42. Ted Says:

    I wonder if it would be less time consuming for millions of programmers write proper programs without the use of thousand of those external libraries like .net, than billions of people spend most of their time searching and downloading those libraries.
    From the point of view of regular user such programs are just crippled if they miss pieces of code which needs to be searched for, downloaded and installed and then one have to do it again and again because only programmers know what exactly pieces of code are missing and where to find them etc etc
    It would be really nice to have a tag for well written programs: not crippled, does not require extra mass downloads.
    I wonder how many people think this way.
    :)

  43. kiran Says:

    hi,

    it is very nice……………………………..!

  44. ranjith Says:

    hi:)

    this is awesome site to learn .net

  45. balu Says:

    good basic knowledge

  46. govind Says:

    The definition and totally explanation of the concept is good.

  47. govind Says:

    The definition and the explanation of the concept is good.

  48. Muhammad Faraz Shaikh Says:

    woooooooooooo!

    It was a suberb explanation from you sir. Because now I have alot of knowledge about .Net and can represent this topic easily.

    I want to be a very successfull software engineer and this helped me alot to increase my knolwledge of software and its developing.

  49. bheemsen joshi Says:

    excellent explonation sir……..thanq

  50. karthik Says:

    really a good description……..thnx a lot….

  51. chandrakala Says:

    i like the defination of the .net this will be give very simple to understand thanq very much sir.

Leave a Reply