More than news & views -­ A complete source for South Asians

March 2002



The Power of C#

By J. V. Ravichandran


There was a thought provoking message by Glenn Burnside at's message board, which prompted me to write this article. The message queries the redundancy of using the same kind of syntax as in Java, in C#. The reference to redundancy being, as in the following statement:


Microsoft.Csharp.NewClass obj=new Microsoft.Csharp.NewClass();


Why the repetition of the name of the namespace, is the query ? Is it because Microsoft wants to fall in line with Java's syntax or is it a lazy hint at not wanting to improve on existing syntax ? The answer, of course, is rather simple but since this question and such queries are often raised, I thought it appropriate to put things in the right perspective.


One word expresses the many confusions on this topic - User Interface. It is but well known that there is a convention on user interface, which demands developers to fall in line with known and accepted conventions in software development. Similarly, if Microsoft introduces a new language, it has to keep in mind the developer who, being a professional, would not spend 6 months to learn a language with totally new syntax. Two, any business minded company would like to conform to the existing norms, which is what Microsoft has done.


Being an OO language and for the internet, the language's user (the programmer) would obviously be the Java or the C++ programmer. So, to facilitate easy transportation for this majority, Microsoft safely decided to keep with some existing syntax.


If a new automobile is introduced into the market, it can have a few wheels, a few tires, a few seats, a steering and an engine; these are the essentials that make an automobile and no manufacturer would like to deviate, just to be different !


In this context, Microsoft's Visual Studio .Net is sure likely to kick the dirt up. So, I would like to note down, in public, the advantages of VS.Net as well as Microsoft's products, in general. The advantage of VS .Net is that it provides an Integrated Development Environment, with all the tools necessary for .Net development, grouped in one place ! The earlier version, VS 6.0, grouped VC++,VFP and VB6.0 plus the Interdev, to make one whopping developer's kit. The JDK and the SDK, too, aimed to do the same but without the aid of a visual front-end IDE. This is where life is easier for the Microsoft developer who can always bank on Microsoft to provide the front-end tool while the Java programmer has to look around, in nooks and corners, for third party tools to even type in code !


Of course, Microsoft's .Net promises a wealth of new techniques and tools that will revolutionize internet programming and soon, maybe even Xml may be de-utilised with the amount of power in C#'s classes to reckon with, as backend for Asp.Net ! The ace for Microsoft, without doubt, is C#. Internet programmers who had till now been finding it difficult to pass even values across forms may now find it the easiest with C# classes to back on.


With C#, the developer is now free of the "If you have the tools, anything is possible" syndrome of the JSP/ASP age; now, it is "Anything is possible" as it was in the days of C/C++ in desktop programming, over other languages like Clipper/Foxpro. Already, transporting Java code into C# is being worked out and pretty soon, it will be a reality.


The client-server interaction may even be re-defined due to the awesome power of C# as a programming language as well as a script language. The power of C# lies in the hands of the developer; if the developer is ingenious the creation can be dynamite, else{} !


VS.Net is heavy but unlike “windes.exe”, which can also be used as a RAD tool for developing .Net applications, it is fairly faster. And more conveniently, for the C# programmer that is, it supplies its own .Net framework command prompt from where command line C# executions is possible. Though VS 6.0 is definitely a better pack than the latest version, the parameters for comparison is not justified as the difference in platforms makes all the difference as, the .Net framework is a heavy package and to execute two different languages, C# and VB.Net, plus implement ASP.Net and ADO.Net, is quite a demanding task. Hence, the sloppiness in loading VS.Net, on a 128 MB RAM machine, can be overlooked for the power it offers.


The toolbox is different, if you have moved from VS 6.0 Integrated Development Environment (IDE). The IDE of VS.Net looks cramped, at first, but soon, one gets used to it. The Start page can be redone to great lengths especially, if one runs VS.Net on Windows XP Professional, which has got clean and brilliant screens. The icons of the dialog boxes seem too large when VS.Net is run on Windows XP P. The online Help provided, as part of the IDE, may or may not be a great advantage according to the prowess and preference of the programmer; so, it cannot be said to be any great addition only a further impediment to speedy loading of the software.


All said and done, VS.Net is quite a heavy package but then, in the same breath, one can’t wish to own an elephant and hope to fit it into the store room.