.NET and "managed code"

Started by
2 comments, last by Peon 20 years, 5 months ago
Could someone give me an overview of .NET? I hear a lot of hype about it, but to be honest, I''m not sure what it is. I own MS VC++.NET 2003, but I haven''t used any of the "managed code" or other things I''ve heard about. Is "managed code" like some sort of new hybrid language? And how does C# fit in? I hear a lot of hype about C# being the future, but how does it differ from C or C++? So what is it, in a nutshell? I''d really like to learn more about it, but I''m not really sure where to begin (other than Googling random things ) -=Peon=- : A Poorly Implement Forum Bot © Kordova, 2003
Peon
Advertisement
Essentially, the idea of .NET is to provide a single runtime, and a single ''infrastucture'' for all .NET languages. So, when you compile a VB.NET, C#, or Managed C++ program, it gets compiled to .NET bytecode, very much like Java. Then, when you execute that code, the .NET interpreter gets started, and either interprets it, or does JIT compilation of it. It also means that you use a single runtime regardless of which language you use, or that''s the idea.
Microsoft .NET Framework is an extensive collection of classes that provides the programmer with resources necessary to write client, web and Internet applications.

The .NET classes is language-neutral. This means you can utilize the .NET Framework with C++ (which when used like this is called manged C++ to distinguish it from "normal" C++), Visual Basic (the new VB.NET), J# and C#. Further, other vendors provide implementations so that you can write .NET apps with, for instance, Standard ML, Delphi etc.

.NET is (loosely speaking) the following:

  • MS Intermediate Language (MSIL) which is the "language of .NET". When your .NET programs get compiled they compile to MSIL and not native code. They are then JITted before being run in a sandbox (hence the term managed).
  • The .NET runtime (also called the common language runtime or CLR). The runtime is essentially a collection of dynamic link libraries which runs you programs in managed mode (i.e. in a sandbox which is great for sercurity).
  • The .NET Framework SDK (software development kit) which contains what you need to develop .NET applications, including the necessary command-line compilers.
  • ASP.NET a great for developing wep applications.

    On top of it all you can get Visual Studio .NET which is a Microsoft IDE for writing .NET (and MFC, Win32, ATL, etc.) applications and services using the above mentioned technologies.

    When that''s said, MS did stick the .NET term on too many products, which have lead to confuson among people/developers. Microsoft used .NET as an catchall term covering not only actual producst but strategies, plans and visions as well. That was not very clever.

    Lately MS has toned down the use of the .NET term, for instance Windows Server .NET got renamed to Windows Server 2003.


    "Yeah, I would''ve killed you, but I''m glad I didn''t - the paperwork is a bitch"
  • "We confess our little faults to persuade people that we have no large ones." -Francois de La Rochefoucauld (1613 - 1680). | My blog
    quote:Original post by sbennett
    Then, when you execute that code, the .NET interpreter gets started, and either interprets it, or does JIT compilation of it.

    The MS runtime doesn''t ship with an interpreter at all - it is always JITted. The Mono project has an IL interpreter, but I believe it''s mostly used for internal debugging purposes.

    IL was designed to be JITted.

    --
    AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
    [Project site] [Blog] [RSS] [Browse the source] [IRC channel]
    --AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]

    This topic is closed to new replies.

    Advertisement