The world of computing
till date has been chaotic. We had various languages struggling to
interoperate with each other, developers undergoing huge learning curves to
shift from one language to another or from one application type to another,
non-standard ways of modeling applications and designing solutions and huge
syntactic differences between languages. The list goes on....
Past years have seen
some solace in the form of enterprise "glue" applications and
standards like COM, which put-forth a binary standard of interoperability
between application components. But in reality, this was not always true (VB
COM found it very difficult to take on VC++ COM). Also, as applications
increased in their reach, it was found that rather than re-inventing the wheel
for a solution, it was better to take the "service" of another
applications specialised for a piece of work.
Thus from a paradigm
where applications replicated code to provide common services, we have moved to
a paradigm where applications are built as "collaborative units" of
components working together. This simple shift has led to the collapse of the
current set of architectures and demanded a new programming model:
- A model where applications can be built as reusable
components and are shareable over the internet.
- A model that encourages applications to be shared as a
"service" (read web services).
- A model that enables true "interoperability"
wherein the language used is only a matter of choice, thus enabling organisations to take advantage of existing skill sets.
fig: Before .NET |
fig: After .NET |
Enter .NET
The .NET Framework is a
new computing platform developed by Microsoft that simplifies application
development in the highly distributed environment of the internet. .NET is much
more than just a platform for developing for the internet, but it is intended
for this purpose predominantly, because here, others methods have failed in the
past.
Overview
of the .NET Framework
.NET is a cluster of several technologies that are
designed to help developers build a variety of different types of
applications. Developers can use the
.NET Framework to build Windows applications, Web applications, Console
applications, etc. The primary
objectives of the .NET framework are
• To provide a consistent object-oriented environment
across the range of applications.
• To provide an environment that minimizes
the versioning conflicts (“DLL Hell”) that has bedeviled Windows (COM)
programmers, and to simplify the code distribution/installation process.
• To
provide a portable environment, based on certified standards that can be hosted
by any operating system. Already, C# and
a major part of the .NET runtime, the Common Language Infrastructure (CLI),
have been standardized by the ECMA (European Computer Manufacturers Association).
• To provide a managed environment in which code is easily verified for safe
execution.
To achieve these broad objectives, the .NET Framework
designers separated the framework into two parts, namely
1. Common Language Runtime (CLR)
2. Framework Class Library (FCL)
.NET Framework |
No comments:
Post a Comment