Editor's//Comment
Are You a C#PRO?
You Should Be
By Elden Nelson
Year after year, in interview after interview, I have
tried to trick Microsoft spokespeople into taking a stand on which .NET
language they prefer: C# or VB .NET. It's never worked. I have never been able
to get anyone to go public. "It's a lifestyle choice," they say, implying that
it's nothing more. And for a long time, much of the press has gone along with
this noncommittal philosophy.
Well, enough time has passed that I think I can say the
.NET language you choose is not simply a lifestyle choice. Which
language you use can impact the design and maintenance of your applications,
and what languages you know can affect your salary or even your options of
where to work.
Choose Wisely
Before I launch into reasons why I think it's crucial for
you to learn C#, let me try to head off a flood of flame-mail by stating: I am not
anti-VB. Furthermore, asp.netPRO is not going to stop including
VB code. For the foreseeable future, I plan to continue using the exact same
technique for which language an article includes as I've always used: ask the
author to include both VB and C# code for download if possible, but respect the
author's language preference in the article itself. After all, in this magazine,
ASP.NET - not any specific programming language - is the star of the show.
That said, which languages you know - and are learning -
can affect your present and future development efforts. Let's take a look at
why.
Power and reusability. Generics, which will be
introduced in the Whidbey version of Visual Studio .NET, is a major step
forward for code reusability. Even if the projects you're working on right now
are fairly modest-sized, you want to be ready to extend your apps, or to move
forward and build large frameworks and business systems. For this kind of work,
Generics is a key capability, and only one of several powerful new capabilities
- you'll also find iterators, anonymous methods, and partial types - to appear
in C# 2.0. Look forward to a discussion of these in the November 2003 issue of C#PRO.
Standards. A standardized specification for C# has
been certified by both ECMA and ISO. Now, that by itself might not seem too
exciting, but what it implies is actually pretty important. First,
Microsoft (along with HP, Intel, and other companies) went to this trouble
because certain companies and government agencies require this
certification before they will adopt a technology. By knowing C#, you - either
as an individual or as a development house - increase the scope of your
options.
Perception. Whether it's just or not, C# developers
make more money, get work more easily, and enjoy more prestige than VB
developers. In a representative anecdote (http://www.angryCoder.com/blog/entries/20030605.html),
ASPSOFT president and asp.netPRO columnist Jonathan Goodyear describes
how, at his client's insistence, he converted a VB .NET code base to C#, then
says, "The overwhelming majority of my clients ... are resolute in their
insistence on our use of C# while building their software."
Essentially, if you're using VB .NET and can make the time
to start supplementing your base of .NET knowledge with C#, it'll be worth your
while - if not now, then soon; if not in this job, then in the next.
Meet C#PRO
There are enough compelling reasons to start learning C#
that in this issue you'll find a sneak peek at C#PRO. Inside, you'll
find some terrific articles that any developer who's chosen to work with .NET -
and that for sure includes all ASP.NET developers - can make use of. I'm
extremely pleased to have Jeffrey Richter - a Wintellect co-founder,
well known author, and bona fide software legend (check out http://www.softwarelegends.com)
- write about one of the unsung-but-powerful tools you can use to streamline
your development: declarative programming. Bill Todd gives you a solid
walkthrough of using Borland's intriguing C# development tool (hey, C# isn't
only for VS .NET developers anymore), C#Builder. And one of my all-time
favorite deep-thinking developers, Dr. Richard Grimes, answers your
questions.
I've got a feeling I've opened - or reopened - a big can
of worms here. So tell me, do you agree? Disagree? Think I've missed the point
altogether? E-mail me at mailto:elden@aspnetPRO.com.
Elden Nelson is editor-in-chief of asp.netPRO and its
companion e-newsletter, asp.netNOW.