The
Microsoft .NET Framework introduces many new concepts, technologies, and terms.
My goal in this chapter is to give you an overview of how the .NET Framework is
architected, introduce you to some of the new technologies the framework
includes, and define many of the terms you’ll be seeing when you start using
it. I’ll also take you through the process of building your source code into an
application or a set of redistributable components (types) and then explain how
these components execute.
Compiling Source Code into
Managed Modules
OK,
so you’ve decided to use the .NET Framework as your development platform.
Great! Your first step is to determine what type of application or component
you intend to build. Let’s just assume that you’ve completed this minor detail,
everything is designed, the specifications are written, and you’re ready to
start development. Now you must decide what programming language to use. This
task is usually difficult because different languages offer different
capabilities. For example, in unmanaged C/C++, you have pretty low-level
control of the system. You can manage memory exactly the way you want to,
create threads easily if you need to, and so on. Visual Basic 6, on the other hand,
allows you to build UI applications very rapidly and makes it easy for you to
control COM objects and databases. The common language runtime (CLR) is just
what its name says it is: a runtime that is usable by different and varied
programming languages. The features of the CLR are available to any and all
programming languages that target it—period. If the runtime uses exceptions to
report errors, then all languages get errors reported via exceptions. If the runtime
allows you to create a thread, then any language can create a thread. In fact,
at runtime, the CLR has no idea which programming language the developer used
for the source code. This means that you should choose whatever programming
language allows you to express your intentions most easily. You can develop
your code in any programming language you desire as long as the compiler you
use to compile your code targets the CLR.
So,
if what I say is true, what is the advantage of using one programming language
over another? Well, I think of compilers as syntax checkers and “correct code”
analyzers. They examine your source code, ensure that whatever you’ve written
makes some sense, and then output code that describes your intention. Differentprogramming languages allow you to develop using different syntax. Don’t
underestimate the value of this choice. For mathematical or financial
applications, expressing your intentions using APL syntax can save many days of
development time when compared to expressing the same intention
using
Perl syntax, for example.
Microsoft
is creating several language compilers that target the runtime: C++ with
managed extensions, C# (pronounced “C sharp”), Visual Basic, JScript, J# (a
Java language compiler), and an intermediate language (IL) assembler. In
addition to Microsoft, several other companies are creating compilers that
produce code that targets the CLR. I’m aware of compilers for Alice , APL, COBOL, Component Pascal, Eiffel,
Fortran, Haskell, Mercury, ML, Mondrian, Oberon, Perl, Python, RPG, Scheme, and
Smalltalk.
0 nhận xét Blogger 0 Facebook
Post a Comment
Thank for you