|
What tools can I use to develop .NET applications? |
There are a number of tools, described here in ascending order of cost:
The .NET Framework SDK is free and includes command-line compilers for C++, C#, and VB.NET and various other utilities to aid development.
SharpDevelop is a free IDE for C# and VB.NET.
Microsoft Visual Studio Express editions are cut-down versions of Visual Studio, for hobbyist or novice developers.There are different versions for C#, VB, web development etc. Originally the plan was to charge $49, but MS has decided to offer them as free downloads instead, at least until November 2006.
Microsoft Visual Studio Standard 2005 is around $300, or $200 for the upgrade.
Microsoft VIsual Studio Professional 2005 is around $800, or $550 for the upgrade.
At the top end of the price range are the Microsoft Visual Studio Team Edition for Software Developers 2005 with MSDN Premium and Team Suite editions.
|
| |
| Terminology |
| |
What is the CLI? Is it the same as the CLR? |
The CLI (Common Language Infrastructure) is the definiton of the fundamentals of the .NET framework - the
Common Type System (CTS), metadata, the Virtual Execution Environment (VES) and its use of intermediate language (IL), and the support of multiple programming languages via the Common Language Specification (CLS).
The CLR (Common Language Runtime) is Microsoft's primary implementation of the CLI. Microsoft also have
a shared source implementation known as ROTOR, for educational purposes, as well as the .NET Compact
Framework for mobile devices. Non-Microsoft CLI implementations include Mono and DotGNU Portable.NET.
|
| |
| What is IL? |
IL = Intermediate Language. Also known as MSIL (Microsoft Intermediate Language) or CIL (Common
Intermediate Language). All .NET source code (of any language) is compiled to IL during development. The IL
is then converted to machine code at the point where the software is installed, or (more commonly) at run-time
by a Just-In-Time (JIT) compiler.
|
| |
| What is C#? |
C# is a new language designed by Microsoft to work with the .NET framework. In their "Introduction to C#"
whitepaper, Microsoft describe C# as follows:
"C# is a simple, modern, object oriented, and type-safe programming language derived from C and C++. C#
(pronounced “C sharp”) is firmly planted in the C and C++ family tree of languages, and will immediately be
familiar to C and C++ programmers. C# aims to combine the high productivity of Visual Basic and the raw
power of C++."
|
| |
| What does 'managed' mean in the .NET context? |
The term 'managed' is the cause of much confusion. It is used in various places within .NET, meaning slightly different things.
Managed code: The .NET framework provides several core run-time services to the programs that run within it
for example exception handling and security.
For these services to work, the code must provide a minimum level of information to the runtime. Such code is
called managed code.
Managed data: This is data that is allocated and freed by the .NET runtime's garbage collector.
Managed classes: This is usually referred to in the context of Managed Extensions (ME) for C++. When using
ME C++, a class can be marked with the __gc keyword. As the name suggests, this means that the memory for
instances of the class is managed by the garbage collector, but it also means more than that.
The class becomes a fully paid-up member of the .NET community with the benefits and restrictions that brings.
An example of a benefit is proper interop with classes written in other languages - for example, a managed C++
class can inherit from a VB class. An example of a restriction is that a managed class can only inherit from one
base class.
|
| |
| |
|
| |