Archived

This topic is now archived and is closed to further replies.

.NET and "managed code"

This topic is 5154 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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"

    Share this post


    Link to post
    Share on other sites
    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]

    Share this post


    Link to post
    Share on other sites