Microsoft Losing Interest in C#?

M

Michael Adams

I don't know if you have noticed, but it seems like Microsoft is losing
interest in C#, and putting their energy into Visual Basic.NET instead.

For instance, online chats by language since July 1, 2004:

VB.NET 47
C# 6
C++ 8
J# 0

ADO with VB.NET 6
ADO with C# 0
ADO with C++ 0
ADO with J# 0

Windows Forms with VB.NET 2
Windows Forms with C# 0
Windows Forms with C++ 0
Windows Forms with J# 0

If you look at the roadmap Microsoft has laid out for Visual Studio 2005 and
the various languages, it appears almost all of the RAD improvements are for
VB.NET. The only thing I see coming for C# are a few language enhancements,
but really nothing for RAD. Yes, C# programmers want granularity, but we
don't get paid unless the projects go out, too! You have to get it out the
door. When is Microsoft going to wake up to this?

I don't understand why Microsoft doesn't put the same kind of energy into
the languages that start with a "C" as they do a "B"...and then they wonder
why people defect to Java, PHP, or even C++ on other platforms.

Maybe it's time for C# people to speak up.

Michael
 
J

James Curran

I don't understand why Microsoft doesn't put the same kind of energy into
the languages that start with a "C" as they do a "B"...and then they wonder
why people defect to Java, PHP, or even C++ on other platforms.

It's because there are about 10X as many VB programmers as there are
C/C++/C# programmers.

--
Truth,
James Curran
Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com
(note new day job!)
 
M

Mark Rae

I don't know if you have noticed, but it seems like Microsoft is losing
interest in C#, and putting their energy into Visual Basic.NET instead.

I would disagree entirely! If that were the case, why does C# even exist...?
It's always been my opinion that it was Microsoft's intention to come up
with a language like C# which had (pretty much) all of the functionality of
C++ but was (almost) as easy to programme in as VB. I think James Curran's
point about the number of people still heavily in the VB(.NET) camp is spot
on, but fully expect that to diminish as C# erodes the VB user base.
 
R

Richard Blewett [DevelopMentor]

One reason why there seems to have been an apparent tendency for programmers from all backgrounds to move to C#, a uge number of VB programmers haven't moved to .NET yet. IMO there is a concerted effort to move much more of the VB6 community to managed code and with the changes introduced in VB.NET 2.0 a number of the things that made VB.NET unattractive to VB6 programmers (such as lack of edit and continue) have been addressed.

Regards

Richard Blewett - DevelopMentor

http://staff.develop.com/richardb/weblog

nntp://news.microsoft.com/microsoft.public.dotnet.languages.csharp/<[email protected]>

I don't understand why Microsoft doesn't put the same kind of energy into
the languages that start with a "C" as they do a "B"...and then they wonder
why people defect to Java, PHP, or even C++ on other platforms.

It's because there are about 10X as many VB programmers as there are
C/C++/C# programmers.

--
Truth,
James Curran
Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com
(note new day job!)



---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004



[microsoft.public.dotnet.languages.csharp]
 
M

Michael Adams

Mark,

I said they seem to be *losing* interest, not that they didn't have any
interest before. I think C# exists because it was Microsoft's answer to
Java. They accomplished that, and now their focus seems to be on VB. C# is
floundering. My feeling is that every RAD tool they come out with on VB
(except ones which just won't work due to language differences), should be
included with, what was their flagship language, C#.

This is problem when you get marketing types running the show. They want to
pigeon hole every product. This language is for this, that language is for
that. Nonsense. C# could do all of it (other than some performance apps
that need native C++), if they put some effort into it.

Michael
 
M

Michael Adams

That's fine, but why don't they migrate the new features to C#, too?

Michael


Richard Blewett said:
One reason why there seems to have been an apparent tendency for
programmers from all backgrounds to move to C#, a uge number of VB
programmers haven't moved to .NET yet. IMO there is a concerted effort to
move much more of the VB6 community to managed code and with the changes
introduced in VB.NET 2.0 a number of the things that made VB.NET
unattractive to VB6 programmers (such as lack of edit and continue) have
been addressed.
Regards

Richard Blewett - DevelopMentor

http://staff.develop.com/richardb/weblog

nntp://news.microsoft.com/microsoft.public.dotnet.languages.csharp/<eWDRSfPn
(e-mail address removed)>

I don't understand why Microsoft doesn't put the same kind of energy into
the languages that start with a "C" as they do a "B"...and then they wonder
why people defect to Java, PHP, or even C++ on other platforms.

It's because there are about 10X as many VB programmers as there are
C/C++/C# programmers.

--
Truth,
James Curran
Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com
(note new day job!)



---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004



[microsoft.public.dotnet.languages.csharp]
 
M

Michael C

And here I thought C# was originally a knee-jerk reaction to go head-to-head
with Java. Not that I'm not enjoying the heck out of learning C#... Now
that I've written in C#, VB seems clunky and obfuscated -- I can barely
force myself to write any VB code these days...

Thanks,
Michael C., MCDBA
 
D

Daniel O'Connell [C# MVP]

Michael Adams said:
That's fine, but why don't they migrate the new features to C#, too?

What features do you mean?
E&C? The team has commited to it, just not in whidbey.
My? Not C# worthy, IMHO.
Silly IDE features? Not really important, honestly.

What is it you feel isn't there?
 
B

Bob Grommes

I think MSFT is just on a big push to move VB6 developers to VB.NET. That's
a big audience they don't want to lose.

--Bob
 
D

Drebin

I'm afraid to say one word, because I get all amped up over this, but what
people call "features" of VB.NET (especially 2005) - I call a bad mistake
and a concept that "ruins" .NET in my mind. It's one thing to have
language-specific timesavers (like a tertiary expression vs. full-blown
if/then/else) - but did you know they retrofitted "line input"? and this
"My" namespace, which has functionality that is NOT in C# - not cool.
Language features that save time, sure - but actually Framework
functionality that isn't supported in another language? Not cool brother.

What you are calling "silly features" are the BEDROCK that VB6 developers
are counting on.. I can see it clearly right now.. an Excel -> Access ->
VB -> VB.NET developer (you know the kind - a "point and click duh-veloper")
can now use .NET because the language conformed to their laziness.. so now,
you take over their crappy code and it uses these "silly features" that
aren't supported in C#!!

And it wasn't until I had a long discussion with one these types of
developers about "line input".. and I gave him a couple alternatives
(basically wrapping various System.IO classes and wrapping functionality) -
but he was COMPLETELY turned off by .NET because "I have to write 50 extra
lines of code now, and it still does do what I want - it's not 'line
input'!" (although he does have a point!).

Since the very first tidbit I heard about .NET - I've always said that VB
will be the contamination in an otherwise FANTASTIC idea!! VB is the cancer
that will ruin .NET. It's not "just another language" - it's already
becoming non-standard and niche, which is what VB's problem has always been.
It's so messed up that it can get a "fresh start" where they didn't need to
be backwards compatible, but yet within 2 releases, they are falling into
old habits. This is like when you keep accidentally hooking up with an old
girlfriend, you know you shouldn't, but you rationalize it. The steering
group for VB need to just make a clean break and stop going back to what's
comfortable for once!

Ugh. I knew I shouldn't have started talking about this!
 
D

Daniel O'Connell [C# MVP]

Drebin said:
I'm afraid to say one word, because I get all amped up over this, but what
people call "features" of VB.NET (especially 2005) - I call a bad mistake
and a concept that "ruins" .NET in my mind. It's one thing to have
language-specific timesavers (like a tertiary expression vs. full-blown
if/then/else) - but did you know they retrofitted "line input"? and this
"My" namespace, which has functionality that is NOT in C# - not cool.
Language features that save time, sure - but actually Framework
functionality that isn't supported in another language? Not cool brother.

I don't think My exposes anything the framework doesn't support, it just may
do so in a different way or with some boilerplate code written into a method
call. The VB runtime dll already does that and it is included with the
framework anyway, its just an extra reference to make.

There are a few classes My exposes that are generated by the compiler, but a
couple of those, atleast, are generated by VC# as well.
What you are calling "silly features" are the BEDROCK that VB6 developers
are counting on.. I can see it clearly right now.. an Excel -> Access ->
VB -> VB.NET developer (you know the kind - a "point and click
duh-veloper") can now use .NET because the language conformed to their
laziness.. so now, you take over their crappy code and it uses these
"silly features" that aren't supported in C#!!

Thats a good thing, over all. More people using the platform isn't going to
hurt.

However, VB doesn't expose *much* that matters insomuch as bothering a C#
dev. Sure the langauge may work differently, and the underlying library
calls may be different, but the types are the same and thats, in my mind,
all that matters.

Default form instances may be one issue that will irk us all, but beyodn
that I don't really think the language feature matters. Even if I don't
particularly care for them myself.
And it wasn't until I had a long discussion with one these types of
developers about "line input".. and I gave him a couple alternatives
(basically wrapping various System.IO classes and wrapping
functionality) - but he was COMPLETELY turned off by .NET because "I have
to write 50 extra lines of code now, and it still does do what I want -
it's not 'line input'!" (although he does have a point!).

I can see people wanting that, and to my mind it simply isn't a big deal. I
don't want it in C#, granted, but as long as it doesn't ruin the exposed
edge of a VB assembly, I don't care if they add

Do Voodoo That Makes My App Work

To the langauge. It just *has* to work on the outside, no matter how it
hapepns to work on the inside.
 
N

Nick Malik

I don't know where your numbers come from.

However, if MS is losing interest in C#, how do you explain C# 2.0 and the
insertion of generics. This isn't a minor change. It's huge. And the
competition with Java isn't over. Sun is releasing a new version of Java as
we speak and guess what... it has generics! What a Coincidence! (right.)

Also, TTBOMK, the My object is just another object. If you put the using
statement at the top of your .cs module, you will be able to use it just as
well as the VB guys.

Inside MS, C# has already won. There were a large number of VB developers
in the IT group, and they are moving to C# in droves. There's hardly any VB
developers left. Perhaps that's why you are seeing such a focus on VB on
the outside... It is truly painful to be using .NET, and enjoying it, and
then to see otherwise intelligent developers who are afraid to switch
because they're afraid of a few objects.

MS has always made it easy for developers who didn't major in computer
science to write functional applications. Millions of IT applications exist
in VB, in production, in corporations worldwide. That's no accident.
That's because VB is, and always will be, targeted toward people who don't
learn "technology for the sake of technology." These are some of the most
practical people you will ever meet.

The ones left behind are a problem. They could switch over to another
language or another platform if MS doesn't show them that they care. MS put
out an excellent OO tool, and all the folks clamboring for OO jumped
aboard... and mostly converted to C#. But the ones who weren't clamboring
for a change, what about them?

MS is going back and addressing a need that they missed the first time:
making .NET so easy that even a "duh-veloper" (your term, not mine) can use
it.

It's about time.
--- Nick
 
M

Mike Schilling

Nick Malik said:
I don't know where your numbers come from.

However, if MS is losing interest in C#, how do you explain C# 2.0 and the
insertion of generics. This isn't a minor change. It's huge. And the
competition with Java isn't over. Sun is releasing a new version of Java
as
we speak and guess what... it has generics! What a Coincidence! (right.)

You are aware that the JSR for generics in Java has been worked on since
1999 (see http://www.jcp.org/en/jsr/detail?id=14) . When, exactly, did
Microsoft begin putting them into C#?
 
G

Guest

Hi,

I think Microsoft is working towards C# 3.0. If not mistaken, i saw a video
from channel9.

Yeah, i agree that there are more vb.net programmers than C#. I attended a
local community in Malaysia, MIND, and there are 90% (60++) of them are from
vb.net or vb6, 3 from C# and 3 from C++ backgrounds.

:)
 
M

Mark Rae

MS has always made it easy for developers who didn't major in computer
science to write functional applications. Millions of IT applications
exist
in VB, in production, in corporations worldwide. That's no accident.
That's because VB is, and always will be, targeted toward people who don't
learn "technology for the sake of technology." These are some of the most
practical people you will ever meet.

They say that there are more lines of VB code in existence than all other
programming languages combined...
 
J

Joerg Jooss

Michael said:
I don't know if you have noticed, but it seems like Microsoft is
losing interest in C#, and putting their energy into Visual Basic.NET
instead. [...]
If you look at the roadmap Microsoft has laid out for Visual Studio
2005 and the various languages, it appears almost all of the RAD
improvements are for VB.NET. The only thing I see coming for C# are
a few language enhancements, but really nothing for RAD.

What are these features? The only one I'm aware of is Edit and Continue, and
that seems to be a feature mostly desired by the die-hard VB6 developers.

Cheers,
 
F

Frans Bouma [C# MVP]

Michael said:
I don't know if you have noticed, but it seems like Microsoft is losing
interest in C#, and putting their energy into Visual Basic.NET instead.

For instance, online chats by language since July 1, 2004:

VB.NET 47
C# 6
C++ 8
J# 0

ADO with VB.NET 6
ADO with C# 0
ADO with C++ 0
ADO with J# 0

Windows Forms with VB.NET 2
Windows Forms with C# 0
Windows Forms with C++ 0
Windows Forms with J# 0

If you look at the roadmap Microsoft has laid out for Visual Studio 2005 and
the various languages, it appears almost all of the RAD improvements are for
VB.NET. The only thing I see coming for C# are a few language enhancements,
but really nothing for RAD. Yes, C# programmers want granularity, but we
don't get paid unless the projects go out, too! You have to get it out the
door. When is Microsoft going to wake up to this?

I don't understand why Microsoft doesn't put the same kind of energy into
the languages that start with a "C" as they do a "B"...and then they wonder
why people defect to Java, PHP, or even C++ on other platforms.

Maybe it's time for C# people to speak up.

Maybe Microsoft thinks the VB.NET people need more education or more media
content to make them use VB.NET.

C# is not getting more RAD than VB.NET for a reason: positioning of
languages. If C# and VB.NET have both the same RAD and other features, users
get confused what to use: C# or VB.NET? Now it gets more clear, which IMHO is
a good thing.

Oh, and about losing interest: .NET is written in C#, .NET is / will be a
cornerstone of MS' activities. I don't think C# will go away anytime soon :)

FB
 
F

Frans Bouma [C# MVP]

Drebin said:
I'm afraid to say one word, because I get all amped up over this, but what
people call "features" of VB.NET (especially 2005) - I call a bad mistake
and a concept that "ruins" .NET in my mind. It's one thing to have
language-specific timesavers (like a tertiary expression vs. full-blown
if/then/else) - but did you know they retrofitted "line input"? and this
"My" namespace, which has functionality that is NOT in C# - not cool.
Language features that save time, sure - but actually Framework
functionality that isn't supported in another language? Not cool brother.

erm... all 'My' does is grouping framework methods into a single utility
class. Oh my... :)

Tell me, which feature of My is not in the framework and thus not available
to C# developers? No I don't think calling a method in My is saving me time
over calling a method on a framework class...
What you are calling "silly features" are the BEDROCK that VB6 developers
are counting on.. I can see it clearly right now.. an Excel -> Access ->
VB -> VB.NET developer (you know the kind - a "point and click
duh-veloper") can now use .NET because the language conformed to their
laziness.. so now, you take over their crappy code and it uses these "silly
features" that aren't supported in C#!!

I don't get your point. I'm talking about professional software development.
When the words 'professional software development' enter the equation, people
who don't know what software development means should step back and get a
coffee or something.

You don't need IDE sugar to create professional software as in: if these
features aren't there, it seems impossible to write professional software. If
people can't write professional software without these features, they're IMHO
not professionals and why would a professional writing software in C# have to
deal with their code?

(for the people ready to butcher me: I think you can also write professional
software in VB.NET, the language really isn't important for professional
software development)
And it wasn't until I had a long discussion with one these types of
developers about "line input".. and I gave him a couple alternatives
(basically wrapping various System.IO classes and wrapping functionality) -
but he was COMPLETELY turned off by .NET because "I have to write 50 extra
lines of code now, and it still does do what I want - it's not 'line
input'!" (although he does have a point!).

no he doesn't have a point. Professional software development isn't about
putting 4 blocks together and a single window with one button which says "get
rich". It's about theory, design, algorithms and what have you. The people
who are turned off because they have to write a couple of lines of code are
also the ones who ruin software projecs by dragging/dropping data-adapters on
webforms, inserting raw SQL into the webform and then wonder why maintaining
the crud they created takes a lot of time and money.

Professional software development is hard work. It's not for people who
think they know the difference between a keyboard and a mouse. I hope for all
mankind that the average doctor in an average hospital is more professional
than these 'professionals' who apparently are too lazy to think for 2 seconds
straight.
Since the very first tidbit I heard about .NET - I've always said that VB
will be the contamination in an otherwise FANTASTIC idea!! VB is the cancer
that will ruin .NET.

Heh. :). No I won't go that far, it's a decent language and for what's
worth: their editor kicks C#'s editor butt bigtime. I've done a lot of C# ->
VB.NET porting (our templates are first written in C# and then backported to
VB.NET) in non-intellisense editors. Trust me, I'm not a fan of the language,
to say the least :) (every time I run into an overloads overrides construct
because an abstract method is implemented I really wonder what Vick was
thinking). However calling it the thing that will ruin .NET is way too harsh.
In fact, I think VB.NET is the savior for .NET, for the sole reason that the
vast majority of the developers targeting MS platforms work in VB or VB based
languages.
It's not "just another language" - it's already
becoming non-standard and niche, which is what VB's problem has always
been. It's so messed up that it can get a "fresh start" where they didn't
need to be backwards compatible, but yet within 2 releases, they are
falling into old habits. This is like when you keep accidentally hooking up
with an old girlfriend, you know you shouldn't, but you rationalize it. The
steering group for VB need to just make a clean break and stop going back
to what's comfortable for once!

I agree with you that they didn't do a good job designing the language.
Whoever decided that On Error Resume Next was necessary in VB.NET should get
fired right there on the spot. Or the fantastic decision of having a single
interface implementation per inheritance hierarchy. This means that in VB.NET
you can't inherit from DataTable and add your own serialization code. Erm...
Ugh. I knew I shouldn't have started talking about this!

heh :) Well, for kicks you could have crossposted it to the vb.net newsgroup
;)

FB
 
F

Frans Bouma [C# MVP]

Mark said:
I would disagree entirely! If that were the case, why does C# even
exist...? It's always been my opinion that it was Microsoft's intention to
come up with a language like C# which had (pretty much) all of the
functionality of C++ but was (almost) as easy to programme in as VB. I
think James Curran's point about the number of people still heavily in the
VB(.NET) camp is spot on, but fully expect that to diminish as C# erodes
the VB user base.

I have to say though that with the .NET 2.0 MC++ enhancements, it begins to
look like a very appealing language.

FB
 
R

Robert Schuldenfrei

Hi Mark,

I do not post "answers" here because I am new to C#. I am, however, a bit
of a computer history buff. I would doubt that the lines of VB code has
even passed COBOL, let alone "all other programming languages combined." I
wish I had the facts to back this assertion up, but I do not. I fully
understand that "lines" is a rubber ruler. Much of Object Orientated
Programming is done by setting properties in the IDE rather than in code.
COBOL is a very verbose language leading to lots of lines. VB and even
FORTRAN encourage programmers to use subroute (class) libraries while COBOL
programmers like to integrate earlier source code into new projects.

Now if you are talking about new lines of code written in the year 2003, you
might have a point. Even then, you need to account for the use of exotic
languages, like ADA for the American defense establishment. Keep in mind
the recent stories of the hurricane forecasting models written in, of all
things, FORTRAN! If you have some statistics, I would love to see them.

Cheers,

Bob

--
Robert Schuldenfrei
S. I. Inc.
32 Ridley Road
Dedham, MA 02026
(e-mail address removed)
781/329-4828
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top