Framework
Framework
The .NET languages, which include C# and Visual Basic .NET, the object-oriented and
modernized successor to Visual Basic 6.0.
The Common Language Runtime (CLR), the .NET runtime engine that executes all
.NET programs, and provides modern services such as automatic memory management,
security, optimization, and garbage collection.
The .NET class library, which collects thousands of pieces of prebuilt functionality that
you can snap in to your applications. These are sometimes organized into technology
sets, such as ADO.NET (the technology for creating database applications) and Windows
Forms (the technology for creating desktop user interfaces).
ASP.NET, the platform services that allow you to program web applications and Web
Services in any .NET language, with almost any feature from the .NET class library.
Visual Studio .NET, an optional development tool that contains a rich set of productivity
and debugging features.
In short, C#, like Visual Basic .NET, is an elegant, modern language ideal
for creating the next generation of business applications. Interestingly, C# and
Visual Basic .NET are actually far more similar than Java and C# or Visual Basic 6
and VB .NET. Though the syntax is different, both use the .NET class library and
are supported by the Common Language Runtime.
C# and VB .NET are not the only choices for ASP.NET development. When
creating a .NET web application, you can use any .NET language, including
JScript .NET or the Java-clone J# .NET .This increasing range of language choices
is possible because Microsoft has released a set of guidelines called the CLS
(Common Language Specifications)
Runtimes are nothing new, but the CLR represents a radical departure from
Microsoft's previous strategy. To start, the CLR and .NET framework are much
larger and more ambitious.
IL programs store extra information about their classes and the components
they require (called metadata). The CLR examines this information and
automatically prevents an application from using the wrong version of a
component.
Side-by-side execution
The CLR also has the ability to load more than one version of a component
at a time. In other words, you can update a component many times, and the correct
version will be loaded and used for each application.
Fewer errors
Whole categories of errors are impossible with the CLR. For example, 1-5
the CLR monitors memory, automatically removes objects that aren't being used
with its garbage collection, and prevents the wide variety of memory mistakes that
are possible with pointers and C++.
Along with these truly revolutionary benefits, there are some other potential
drawbacks, and some issues that haven't yet been answered:
Cross-platform No one is entirely sure whether .NET is destined for use on other
operating systems and platforms. Currently, .NET programs will make the switch
to upcoming 64-bit versions of Windows without a problem.
The .NET Class Library
The .NET class library is a giant repository of classes that provide prefabricated
functionality for everything from reading an XML file to sending an email
message.
Some parts of the class library include features you'll never need to use (such as the
classes used to create desktop applications with the Windows interface).
Other parts of the class library are targeted directly at web development, enabling
Web Services, web form user interface, and countless other utility classes. These
include the base set of classes that define common variable types, and the classes
for file I/O, data access, and XML information, to name just a few.
Open standards Microsoft currently provides programming tools that allow you
to 1-6 work with many open standards, such as XML and SOAP. In .NET,
however, many of these standards are baked in to the framework. For example,
ADO.NET (Microsoft's data access technology) uses XML natively, behind the
scenes.
Headaches with deployment and configuration Because of the way COM and
ASP work, you can't easily update the components your web site uses. ASP.NET
introduces a slew of new features to allow web sites to be dynamically updated and
reconfigured.
No application structure ASP code is inserted directly into a web page along with
HTML markup. The resulting tangle has nothing in common with today's modern,
object-oriented languages.
State limitations One of ASP's strongest features is its integrated session state
facility. However, session state is useless in scenarios where a web site is hosted
by several separate web servers.
Automatic error detection You could save hours of work when Visual Studio
.NET detects and reports an error before you try to run your application. Potential
problems are underlined, just like the "spell-as-you-go" feature found in many
word processors.
Debugging tools Visual Studio .NET retains its legendary debugging tools that
allow you to watch your code in action and track the contents of variables.
Page design You can create an attractive page with drag-and-drop ease using
Visual Studio .NET's integrated web form designer.