On BNET: Gen Y: Your degree doesn't cut it
BNET Business Network:
BNET
TechRepublic
ZDNet

By Eric Knorr
Posted on ZDNet News: Dec 12, 2001 12:00:00 AM

This week, Microsoft finally ships C#, the flagship, component-oriented programming language for .Net. Developed by Anders Hejlsberg, the designer of Turbo Pascal, C# was built from the ground up for Web services development. Microsoft has been talking it up as the greatest thing since sliced bread for a year and a half, while the Java/open-source crowd has derided it as yet another dialect of the devil's tongue.

In other words, objective opinion about C# isn't exactly easy to find. But after a few phone calls, I was able to enlist the able assistance of Derek Ruths, chief scientist and co-founder of Advanced Reality, a startup that has developed technology to make any application collaborative. Ruths developed his Presence AR application in Java, but he's actively exploring C#. His opinion and that of Gartner analyst David Smith were essential in this quickie examination of the myths and realities of C#:

C# is "Java-like." This is true in some ways, false in others. Microsoft denies that C# is a "response" to Java and claims it's a direct descendant of C++--although the same can be said, of course, about Java itself. Reportedly, porting Java apps to C++ is relatively easy and many of the APIs and classes have the same names. And like Java, C# includes garbage collection, where unused memory is recovered during runtime. But there's one enormous difference: Java is platform-independent and C# is pretty much Windows-only.

Java is still vastly superior. Java was created partly as an answer to C++, which is a difficult but powerful language. But Java has been around for a while, while C# can start fresh. "Some design decisions from early versions of Java remain embedded and are difficult to work around," says Ruths. In addition, C# adds some "syntactic sugar," as Ruths calls it--keywords and concepts that make development a little easier. On the other hand, he considers C#'s windowing model weak compared with Java Swing. The general consensus is that, strong and weak points aside, C# and Java are roughly comparable in their power and ease of use.

C# will cause Java programmers to defect. Gartner doesn't think so. Java still has the momentum. Few doubt that C++ and Visual Basic programmers will migrate to C# in droves--but for Java programmers to switch, they'd have to buy into the self-contained world of the all-Microsoft platform--and that platform still has very little penetration in the enterprise back office. Why should Java programmers leave all that behind? Of course, a great deal of the motivation behind the .Net initiative is to establish a beachhead in the back office, but that will take time.

If you want to develop .Net Web services, learn C#. Well, it might be a good idea. Microsoft's refrain is that "C# is the first component-oriented language in the C/C++ family." Ruths agrees that "out of the box, it's easier." But the Common Language Runtime in .Net enables you to use any many different languages to write .Net components.

Another interesting point: Ruths think that C# may revive downloadable, client-side applications along the lines of old-fashioned Java applets (but not in mobile environments, since this area is still dominated by Java). COM components have always been desktop-oriented, so that speculation makes sense. One thing is certain: C# is the linchpin of Visual Studio .Net, which Bill Gates has called Microsoft's most important product. You'll be hearing a lot about C# in the months to come.

Have you or your developers tasted C#? What's the verdict? E-mail Eric or Talk Back below.

SponsoredWhite Papers, Webcasts, and Downloads

Talkback

Add your opinion
advertisement

White Papers, Webcasts, and Downloads

SmartPlanet

  • Thought-provoking progressive ideas on diverse topics that intersect with technology, business, and life, and matter to the world at large. Visit SmartPlanet
  • More from IBM
  • Innovate your business' process model, play against the market, compete against others on our scoreboards and WIN! Try INNOV8 2.0: A BPM Simulator
  • Enabling Real-World Business Transformation through IBM Service Management Read the EMA Analyst Report
Click Here