|
Why C# or Why Java or Why Any Language at All !
By J.V.Ravichandran
Of hard critics on Microsoft who don't see sharp
what is C#, but jaw on Java !
A topic that has raged the circles of programmers, students, internet surfers and the likes ever since
Microsoft announced its latest venture the .net framework ! Log onto www.c-sharphelp.com and there will be at least 3 questions from C# newbies on why C#, in the message board of the site ! There have been
more C# websites cropping up in the near past than new films from Bollywood. Such has been the interest that
this language has generated.
Every language has its own purpose and use. And Microsoft's languages usually have lots of new,
interesting and useful features. It is not only distressing to note that many of Microsoft’s critics
have forgotten how easy-to-use Microsoft’s products and languages are, but also alarming that critics have
begun to hypnotize themselves with their own viewpoints, to the extent that the need to recognize
Microsoft’s efforts in the field of softwares and information technology has just vanished giving way to
frustrated comments on anything by Microsoft !
The most notable point that I have usually noticed is an unnecessary and often unjustified criticism of
Microsoft's languages or products being some kind of a COPY ! Microsoft has OS/2 as an absolutely original
product (so it is capable of original products) and although the user-interface of Windows has/may have
been borrowed from Mac interface, this alone cannot be held as reason that Microsoft copies all other
products. A Morris car had 4 wheels but so does a Beetle or a Mercedes. Does this mean that all the
modern cars copy Morris? An user-interface like Mac had been popular at the time and from a business point
of view the incorporation of the MAC-like user-interface was absolutely necessary to attract
users to switch to Windows and Microsoft's decision to offer a similar kind of an interface in its windows
platform for its users is fully justified as a business move and not an effort to copy !
As far as C# is concerned, C# is not Java and cannot be considered an eliminator of Java as both are
different, in terms of the platform on which they are used. Both are OO languages and the similarity starts
and ends here. C# is new. Boeing 747-400 was new yesterday; tomorrow, Boeing 747-600 may be preferred.
Every new product in the market has its own value and attraction and as such, to say that C# is far better
than Java or Java is more powerful than C# is like wasting one's time philosophizing on idle thoughts.
C#
has brought lots of joy, enthusiasm and enjoyment for the old C++ programmer who had been left out in the
rapid changes in the internet and the programming world. Now, the C++ programmer is as wanted as when
the language was considered the blue-eyed language of the world. And it is not exaggerating in anyway, if
one says, a C++ programmer is the most technically and logically perfect of all programmers in the world. And
to welcome this group of eminent and left-out programmers back, into the world of neo-internet
programmers with half-OO in their bag and half-Oh in the back of their minds, is a pleasure that Microsoft
has made all its own.
C# offers a new range of newer OO technologies like the class indexer, reflection, and a few extensions of
inheritance not only through interfaces but also through concepts like base class references. A
combination of a set of related languages or technologies have been grouped under the .net
framework and the framework, itself, is a classic piece of work. And it would be highly critical of
Microsoft if one were to call the framework too a work of copy based on the JDK or the Java Virtual Platform
because the .net framework is built on the model of the original DOS-like stack, .obj like metadata
generation, virtual memory (of Windows) like VES (Virtual Execution System) and VOS (Virtual Object
System). The data types in C# as well as in the framework is quite well-defined with the value types
and reference types. Although the types are the same as before, the effort that Microsoft has taken to re-define this topic in newer terms is commendable. Of course, it goes without saying that C# is a far more
perfect OOPS language than Java and is a joy to use.
As a
bottom line of help to Microsoft’s unwanted and usually erring critics, it needs to be noted that it
is not easy to create something new every time and it is certainly not easy to better something existing,
which is how Microsoft’s late forays into the lightning-speed information technology world, must be
viewed in !
|