Log in ....Tribune

Dot.ComLatest in ITFree DownloadsOn hardware

Monday, March 19, 2001

A sharp language in developers’ hands
By Amit Puri

A long-cherished desire of programmers to have the best of Visual Basic (VB), C and C++ in one language may have been answered by a new solution from Microsoft, C#.

C# (pronounced C Sharp) is a hybrid of C and C++, two of the most popular programming languages used by software developers to write applications for the Windows operating system. It also has useful features of VB. While VB is easy to read, write and maintain, the powerful languages C and C++ are flexible, and C# has all these wonderful features.

Providing balance between power and productivity, C# is a language of the future. It makes solution development faster and easier. It is thus expected to be the leading language from Microsoft for writing COM+ and Windows-based programs for enterprise computing.


There has been a legal battle on between Microsoft and Sun Microsystems over ‘Java’ for more than the past four years. Sun had sued Microsoft for allegedly failing to comply with its Java licensing terms. Microsoft was also pushing its own version of Java, called J++, based on technology licensed from Sun. In the past few months, however, Microsoft changed track to C#. Instead of launching J++ 7.0, which was due, Microsoft launched C#. To simplify integration and interpretability, Microsoft worked with ECMA, an international standards body, to create a standard for C#.

Microsoft originally developed the language called ‘COOL’. Before the release of the product the company said COOL was merely a better version of C++. The result was meant to be the Microsoft’s answer to Sun’s Java.

C# is provided as part of Microsoft Visual Studio 7.0. In addition to C#, Visual Studio supports Visual Basic, Visual C++ and the scripting languages VBScript and J Script. Since C# uses the .Net software development kit, which defines the Common Language Subset, it has complete access to the same rich class libraries that are used by seasoned tools such as Visual Basic and Visual C++. C# is claimed to be the most stable part of Visual Studio .Net. It is the key component of the Microsoft .Net platform.

This simple, modern, object-oriented and type-safe programming language is likely to be taken up immediately by C and C++ programmers. They can now develop Internet-based applications without learning Java. This language can bring about more speed in building applications for the new Microsoft .Net platform, which exploits computing and communication to provide various tools and services.

Modern programming demands short cycling times and frequent revisions. C# does this with fewer lines of code and less errors. This is the age of Internet, and tools are required to work with HTML, XML and SOAP. At present the tools are not the most suitable for working with new Web technologies. C# has a built-in support to turn any component into a Web service that can be invoked over the Internet from any application running on any platform.

The language also offers features that are available in Java, including better security and ‘garbage collection’, which tidies up computer memory used in a software programme. Garbage collection is one of Java’s most popular feature, which helps in reducing the complexity of application development. To attract Java professionals, Microsoft also introduced a tool that converts the Java software code into C# code.

C# eliminates costly programming errors, thus software development and revisions become less costly. For example, even an expert C++ programmer can make the simplest of mistakes like forgetting to initialise a variable. Such mistakes result in unpredictable problems that can remain undiscovered for long periods of time. In the case of C#, variables are automatically initialised by the environment. Some of the other advantages of C# are: garbage collection relieves the programmer of the burden of manual memory management; variables are type-safe; and we can update the software components at a later time as C# includes versioning support in the language, which cannot be done in C++ and Java. This helps prevent coding errors and preserve versioning flexibility.

Home Top