Welcome Guest. | Log In| Register | Membership Benefits
October 10, 2000 (12:00 AM EDT)

Microsoft C# Gets An A

Microsoft C# Gets An A

By Martin Heller,

I have a fairly short list of personal heroes in the world of computer languages.

Rather high on the list (definitely in the top 10) is Anders Hejlsberg, who as a teenager in the early 1980s built the groundbreaking Turbo Pascal 1.0 compiler.

If Turbo Pascal doesn't ring any bells for you, you can ask any programmer over 30 about it. Or, for that matter, you can download the 1989 Turbo Pascal 5.5 from Borland, free.

What's Anders doing these days? He's at Microsoft Corp. (stock: MSFT), Redmond, Wash.

For a while, he worked on the rather nice proprietary class libraries for Microsoft's Visual J++ product; now, he's working on the C# language and the .NET architecture.

As you might expect from Anders, the C# language is innovative without breaking all your expectations and making you relearn a lot of stuff. If you know C++, you already know most of C#. If you know C++ and Java, JavaScript, or Perl, you already know pretty much all of C#, other than a few minor details.

In a nutshell, C# is a simplified, component-oriented offshoot of C++, with a few ideas added from other languages. In C#, everything really is an object: Even primitive types like "int" can be boxed into the root-object class.

In C#, there is no multiple class inheritance; instead, there is a multiple interface mechanism, like Java or, more to the point, like COM and COM+.

In C#, there is a new operator, and you'll need to use it a lot. There is no delete operator -- the language has built-in garbage collection.

Garbage collection is an idea whose time has come, if you ask me. I've wasted far too much of my life tracking down memory and resource leaks.

On the other hand, I'm still hesitant about allowing garbage collection in real-time code, so maybe I'll keep writing that in C++, or C, or assembler.

In C#, you normally don't need to write sorting or searching routines. The System.Array type, from which all arrays derive, includes built-in sorting and searching methods.

What you might need to write, however, is an "IComparable" interface for your own class, and/or an enumerator and iterator for your class.
»More from Byte.com


CAREER CENTER
Ready to take that job and shove it?
SEARCH
Function:

Keyword(s):

State:
SPONSOR
RECENT JOB POSTINGS
CAREER NEWS
Go beyond Google and get vertical. These specialized search sites will help you find the business information you need -- fast.

Ari Balogh was named to the post of chief technology officer as the companys for a "realignment" of employees.

Advertisement


Specialty Resources

Featured Microsite


Microsites

Featured Topic

Additional Topics

Crush The Competition

TechWeb's FREE e-mail newsletters deliver the news you need to come out on top.

Techencyclopedia

Get definitions for more than 20,000 IT terms.

Techwebcasts

Editorial and vendor perspectives


Vendor Resources


Focal Points