|
C#
Java
and C++have so far ruled the roost as the ultimate object
oriented programming languages. A new entry seems to have
come up that measures up or even attempts to replace them:
C# (C Sharp), the latest addition to the Microsoft family.
C# is
an object-oriented language that facilitates programmers
to build a wide range of applications for the new Microsoft.NET
platform. It offers tools and services to fully make use
of both computing and communications.
So why
do programmers still vouch for languages like the Visual
basic and Delphi? These languages are able to conceive and
apply complex applications fast. Macros, templates and multiple
inheritance gave way for simplicity and speed. Today's C#
is conceived to offer developers the optimum combination:power
and flexibility of C++ and the simple and rapid deployment
feature of Visual Basic.
Coming
from the same family as C and C++, C# blends the high productivity
of Visual basic and the power of C++. Microsoft Visual Studio
7.0. has made C# a part of it. More than that C# promises
and proffers access to the Next Generation Windows Services
(NWGS) platform, which includes a common execution engine
and a rich class library. Which means the kit has a Common
Language Subset, a sort of lingua franca that enables unlimited
interoperability between CLS-compliant languages and class
libraries. Thus, C# has access to the same class libraries
that are used by seasoned tools such as Visual Basic and
Visual C++. The new language, it must be noted has no library
of its own.
C# is
a wish come true for C program developers. C#, for them
pronounces simplicity, Type-safety, Version support, Compatibility,
Flexibility, Scalability, Modernity, Consistency and most
of all Object-orientation. A little of your processing power
is compromised for greater benefits like type safety and
automatic garbage collection features.
Eliminating
expensive program errors.
Even
formidable C++ programmers tend to make simple errors that
lie undetected for a very long time. This would translate
into drastic results costing a lot in rectification. This
fallacy is taken care of by C#. Programmers are now free
of hassles such as manual memory management thanks to the
garbage collection system.
Reducing
Version change costs
In more
cases than one, upgradation of software gives way to semantic
changes in the original program. C# offers a version support
to take care of coding errors and maintain version flexibility.
Close
connection between Business process and implementation
Of the
crores of rupees spent on business processes, much depends
on the use of software. A close link between the abstract
business process and the actual software implementation
is very important. C# assays to link up business logic with
business code.
Easier
to work over the Web
Programmers
may make extensive frameworks for building applications
on the Microsoft .NET platform. C# has a built-in support
to convert any component into a Web service which in turn
calls upon any application running on any platform over
the Internet.
The
Web services framework changes existing Web services to
appear as native C# objects to the programmer. This speaks
volumes for the developers who now benefit from the existing
Web services with the object-oriented programming skills
at their disposal.
This
is not all. Other attributes make C# a great Internet programming
tool. Take the case of XML which is today understood as
the accepted way to pass structured data across the Internet.
Such data sets are often very small. To improve performance,
C# enables the XML data to be mapped directly into a structured
data type instead of a class which is the more efficient
way to handle small amounts of data.
This
new model requires the application of emerging Web standards
like Hypertext Markup Language (HTML), Extensible Markup
Language (XML) and Simple Object Access Protocol (SOAP).
Productivity
and safety
The
new Web economy calls for quicker responses to competition
in business. Single monumental versions need to give way
to more incremental revisions within a shorter time.
Interoperability
In actual
experience, it appears that some applications need to use
the "native" code, whether for performance reasons
or for interoperability with existing application programming
interfaces (APIs). Developers may therefore turn to C++
even though they want to use a more productive development
environment.
The
native support for the Component Object Model (COM) and
Windows based APIs answers these problems. With C#, every
object is automatically a COM object. A special feature
in C# empowers a program to call out to any native API.
This means that C# programmers need not discard their existing
C and C++ code base, they just have to build on it.
In both
cases-COM support and native API access attempts are made
to give the developer the necessary power and control without
leavingthe C# environment.
C# and
Java emerge from C++. Java seems to have substantial gains
over C++ and avoided many indiscrepancies with direct pointer
manipulation and multiple inheritance. However poor performance
of Java always tilted the balance in favour of C++. So the
need for a simpler language with C++ performance is high.
The
concept of C# is well within the internet canvass. C# allows
for any object to be represented as a COM object, facilitating
smooth integration with applications written in other languages.
C# is
ideally suited for writing small components for use in larger
projects. This will spell significant productivity gains
over other component architectures such as Java Beans, which
are incompatible with non-Java languages.The Java like features
are worth noting here: Garbage collection, interfaces and
type-safe variables
There
is a built-in support to give any component a Web-based
service that can be invoked, echoing the remote method invocation
(RMI). However here developers aren't restricted to any
specific language.
Introduction | Contents
| Top
|