Is VB.NET dead?

G

Guest

Dear VB.NET Team,

you did a wonderful job in making VB.NET a full fledged language, at least
on the compiler side. When teaching students I always see that solving labs
using VB.NET gives a faster result than C#.

However the "distribution chain" to your customers is totally wrecked:
I bought five WCF books in the last months, none of them contains VB.NET
samples. Nor does any of the source code websites I visited lately.
(M.L. Bustamente just shipped a subset of samples in VB.NET, yet her book
does not use it).

The Problem:
VB.NET programmers spend/waste considerable time translating code snippets
and samples by figuring out how to translate nitty gritty C# features which
are not available in VB.NET into working code.
I even have a book by Chris Sells (Programming Windows Forms 2.0) who wrote
me that one of his sample cannot be converted to VB.NET without redesign.

I understand that you have no influence over the publishers like o'Reilly or
Wrox. However

1) you have full access to the publication pipeline of MS-Press (yes: the
WCF books of MS-Press just ignore VB.NET!) So why does MS-Press ignore VB.NET
?

2) All the books are written by authors who are more or less in close
proximity to Microsoft: Juwal Löwy, M.L. Bustamente all make their money
consulting MSFT technologies. So please talk to them!

So for all book writers, speakers at conferences etc:
give them a paper what to avoid in C# in order to make reading for VB.NET
guys easier.

(and keep on rewriting the VB.NET online help samples so that they don't
look like auto-converted C#: there is a For...Each in VB.NET!)

thank you very much
no code no glory!
herbert
 
W

Wolfgang Hauer

Hi!

I think you should write to Bill Gates. He is in the 5% as MS that will
understand you

Wolfgang

PS: i feel with you
 
C

clintonG

This month's Redmond Developer magazine states VB.NET will continue to be
developed.but C# is the preferred language for general programming. Quite
frankly, I think many developers adopted C# as they quickly came to
understand web development requires a mastery of Javascript and the syntax
for Javascript and C# is exactly the same as it is with Java so a developer
learns three languages for the price of one.


<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://clintongallagher.metromilwaukee.com/
 
J

Jon Skeet [C# MVP]

clintonG said:
This month's Redmond Developer magazine states VB.NET will continue to be
developed.but C# is the preferred language for general programming. Quite
frankly, I think many developers adopted C# as they quickly came to
understand web development requires a mastery of Javascript and the syntax
for Javascript and C# is exactly the same as it is with Java so a developer
learns three languages for the price of one.

You keep repeating this, but ignore the fact there are very significant
differences between Java, JavaScript and C#. Please stop claiming that
the syntax is "exactly the same". They're all "curly braces" languages,
and there are some other similarities, but there are significant
differences too - and C# 3 will increase those differences further.
 
C

clintonG

I keep repeating it because its true. You're confusing syntax with grammar
eh? There are other exactitudes such as case requirements all three
languages share. Maybe other features. The point to take home is the legacy
C languages require more discipline to learn and use which only serve to
improve a person's mastery of programming. That point is not missed by
employers and saavy customers which can be surmised to be another reason why
the trend has tipped towards C# development for those using the .NET
Framework.

In any event, Microsoft has made it perfectly clear continued development
for VB will be for weenies so to speak, those who will get all the shortcuts
and other time saving features which really isn't such a bad thing but
still, that's the message as I read it. In fact they say they are even
dropping the .NET nomenclature from VB.NET and intend to refer to it as VB
once again. Again, from my point of view its pacification for weenies who
don't want to study and work hard or risk the big taboo: change!

So why resent and blame me for seeing things the way they are? I certainly
don't feel superior so that should be said but I do feel better about myself
for having finally motivated myself to change by crossing the chasm and
adopting C#. As confused as you may be about the difference between syntax
and grammar I can now read and understand Java and have also become much
more adept at using Javascript as a result and when all is said about my
past experience with VB syntax and grammar I have not one bit or byte of
regret.

<%= Clinton
 
J

Jon Skeet [C# MVP]

clintonG said:
I keep repeating it because its true. You're confusing syntax with grammar
eh?

Maybe you should enlighten me then. The C# spec talks about "syntactic
grammar" being what specifies how tokens are combined to form C#
programs. What exactly do you count as syntax? Just the fact that it
uses curly braces?

Now, what's the syntax for deriving one class from another in Java, and
what's the syntax for that in C#?

What's the syntax for implementing an iterator block in Java?

What's the syntax for an extension method in Java?

What's the syntax for a covariant generic type parameter in C#?

What's the syntax for a lambda expression in Java?

What's the syntax for an anonymous inner class in C#?

Do I have to go on?
So why resent and blame me for seeing things the way they are?

I'm blaming you for repeating a fallacy. I didn't say anything about C#
not being a good language to learn, similar in many ways to Java and
Javascript etc. I merely contradicted your claim that the syntax is
"exactly the same". It's not.
 
M

Marc Gravell

Forgetting about semantics...

The most significant thing in most programming is the framework. In
browser-based javascript, then the hard work is learning about the
browser DOM (in the various implementations), and the elements / css
etc.

C# and java have another 2 (very different) frameworks. Yes, you can
generally get the same things done, but the way you do it is very
different - as are the learning points.

Ditto C / C++

Ditto again ActiveScript (or whatever the ECMA-script in flash is
called).

Yes, the code may look very similar, but that is *entirely different*
to saying that the dev has learn't 3 languages[*]. For my money, other
than learning some basic syntax, it matters very little what the
actual coding language is. The framework is key.

*: I've used the term language here not in terms of pure "brace coment
tab begin end" etc terms, but in terms of actually being able to do
something, which really means learning the basics of the framework.

Marc
 
M

Mick Walker

clintonG said:
This month's Redmond Developer magazine states VB.NET will continue to be
developed.but C# is the preferred language for general programming. Quite
frankly, I think many developers adopted C# as they quickly came to
understand web development requires a mastery of Javascript and the syntax
for Javascript and C# is exactly the same as it is with Java so a developer
learns three languages for the price of one.
Would it be possible to get a link to this article? I cant seem to find it.
 
F

Frans Bouma [C# MVP]

clintonG said:
I keep repeating it because its true. You're confusing syntax with
grammar eh? There are other exactitudes such as case requirements all
three languages share. Maybe other features. The point to take home
is the legacy C languages require more discipline to learn and use
which only serve to improve a person's mastery of programming. That
point is not missed by employers and saavy customers which can be
surmised to be another reason why the trend has tipped towards C#
development for those using the .NET Framework.

What a load of BS. According to your analogy, people using C++ who can
really understand the STL code are the best programmers there are,
right?

Programming isn't about the language you're using. If you're still at
that level, you aren't in the group you described.

Hint: programming is done by using a tool, i.e. the language. Which
language? well, the one which has the best expressional power to
formulate the program in. Is C such a language? In a lot of cases: no.
Is C# such a language? Same answer. Is VB.NET? Same answer. There are
general purpose languages, all-round languages: you can write any
program with them with an expressional power which is sometimes great
and sometimes seriously crap.
In any event, Microsoft has made it perfectly clear continued
development for VB will be for weenies so to speak, those who will
get all the shortcuts and other time saving features which really
isn't such a bad thing but still, that's the message as I read it. In
fact they say they are even dropping the .NET nomenclature from
VB.NET and intend to refer to it as VB once again. Again, from my
point of view its pacification for weenies who don't want to study
and work hard or risk the big taboo: change!

Well, personally I don't like VB.NET's syntaxis because I don't like
languages which are deliberately ambiguous. That said, one of the core
members of VB.NET's team nowadays is Erik Meijer. I don't think Erik
needs any further introduction.

For weenies? no, I don't think it's for weenies. What are weenies btw?
People who think they're holier than thou because they use a certain
language? hahaha :D. Come on Clinton, you can do better than that ;).

VB.NET now finally takes a different direction than C#. I think that's
great. The thing is: as long as VB.NET is forced to act like it has the
same 'general purpose' sweet-spot as C# has, it will never be a
language which appeals to a lot of people. Simply because it has a
different sweet spot where it excells than C# has. By taking it into a
direction where this is more exposed, the language can be used where it
is more suitable and also it makes C# look like a language which is
more suitable in other scenario's which is also good, because as I
said: language is a tool, don't use a language X if the expressional
power for the particular problem you want to program for is horrible in
X but great in Y: you then should have used Y.
So why resent and blame me for seeing things the way they are? I
certainly don't feel superior so that should be said but I do feel
better about myself for having finally motivated myself to change by
crossing the chasm and adopting C#.

Why do you feel better? It's just a language, Clinton :). What's key
is that you can formulate the solution to a problem in algorithms and
can translate these algorithms into executable form by using a
language. Picking a general purpose language like C# will do, but it's
often not the best choice for a particular problem simply because it's
not designed for that particular problem. For example SQL is excellent
for set-oriented operations but it sucks in imperative code. C# is the
opposite.
As confused as you may be about
the difference between syntax and grammar I can now read and
understand Java and have also become much more adept at using
Javascript as a result and when all is said about my past experience
with VB syntax and grammar I have not one bit or byte of regret.

You can perhaps think whats written in Java is what you think it is,
but that doesn't make you a person who can write java code, simply
because it takes way more to write a proper program than some EBNF
chart.

Have you looked at ruby yet? I heared it's da bomb ;)

FB
<%= Clinton

>clintonG



--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
S

sloan

Quotes I pulled out:

and the C# design team wants to ensure that the language will be relevant
years into the future.



For C#, that means thoughtful and deliberate evolution with a focus on
general-purpose programming




(Vb.Net)

Redmond is willing to take more chances by adding features that have value
here and now.
 
C

clintonG

Do I have to go on?
<snip />

No you don't have to go on. All I have ever meant to convey is the syntax is
exactly the same but the grammar such as Dim and new statements and so on
are in fact different. Its the curly braces and semi-colons and brackets
etc. the VB developers have whined about the most and once past the syntax
the elegance of the legacy of C begins to emerge.

But you know I have been using my terminology incorrectly as the terms
syntax [1] and grammar [2] are somewhat synonymous when I should be using
the term punctuation [3] to convey the point I have intended to make. I will
use the term punctuation from now on as it is precisely correct.

So, the punctuation for Javascript, C# and Java are all exactly alike.

<%= Clinton

[1] http://www.m-w.com/dictionary/syntax
[2] http://www.m-w.com/dictionary/grammar
[3] http://www.m-w.com/dictionary/punctuation
 
C

clintonG

For weenies? no, I don't think it's for weenies. What are weenies btw?
People who think they're holier than thou because they use a certain
language? hahaha :D. Come on Clinton, you can do better than that ;).
<snip />

I suppose weenies in this context can be thought of as similar to the
squeaky wheels that get the grease. They make a lot of noise and then
somebody has to take the time to get off the wagon and give them a bottle or
change the diaper while the rest of the wagon train is held up waiting to
cross the river.

This is not to say the collective voice should not be raised but I doubt
anybody can make a legitimate argument which denies Microsoft has made many
accomodations placating the shallow complaints of those glued to the VB
syntax and grammar when it was time to cross the river.

I tried to make a special emphasis to avoid any misperception of being
perceived as holier-than-thou but now that you mention it I do feel very
special for "graduating" from VB syntax and grammar. I was an architect
before working with web development and got started on the web with Cold
Fusion which I rapidly came to understand as a dead end for a person who
wanted to finally become adept at "programming."

So I switched to ASP/VBScript for a couple of years and truth be told I was
always intimidated by JavaScript and Java for the reasons most other users
of "VB" have whined about. I only had one class in C in college and that was
enough to give me the itch which didn't even begin to get scratched until I
took a leap of faith and learned C# and again, I have no regrets.

Finally, I've been using my terms incorrectly and will forever on use the
precisely correct term "punctuation" when pointing out the exactness shared
amongst Javascript, C# and Java.

<%= Clinton

<%= Clinton
 
J

Jon Skeet [C# MVP]

clintonG said:
<snip />

No you don't have to go on. All I have ever meant to convey is the syntax is
exactly the same but the grammar such as Dim and new statements and so on
are in fact different.

But the syntax is *not* exactly the same. Even the punctuation is not
the same, and frankly the punctuation of a language is pretty trivial.

Consider the use of ":" - it's used to indicate derivation in C#, but
not in Java. It's used in the foreach equivalent in Java, but not in
C#.

Likewise ? is only (as far as I can think, anyway) used in the
conditional expression in Java. In C# 2 it's also used for nullable
types.

If you really meant to say "Java and C# use curly braces, VB.NET uses
Begin and End, and Java/C# both use a semi-colon at the end of a
statement" then you should have said so - because that's about as
far as you can go saying that the languages are "exactly" the same.

Learning one of C#, Java or JavaScript does *not* give you "three
languages for the price of one" contrary to your original claim. Yes,
it'll make learning the other languages *easier* but it certainly
doesn't teach you the language. Ask someone who has only ever seen C#
how you implement an interface in Java and they won't be able to tell
you, for instance.

Your fundamental point about familiarity with the general look and feel
of the language is well taken, but there's no need to exaggerate it.
 
F

Frans Bouma [C# MVP]

clintonG said:
<snip />

I suppose weenies in this context can be thought of as similar to the
squeaky wheels that get the grease. They make a lot of noise and then
somebody has to take the time to get off the wagon and give them a
bottle or change the diaper while the rest of the wagon train is held
up waiting to cross the river.

This is not to say the collective voice should not be raised but I
doubt anybody can make a legitimate argument which denies Microsoft
has made many accomodations placating the shallow complaints of those
glued to the VB syntax and grammar when it was time to cross the
river.

I can't deny some VB.NET programmers aren't that stellar, but there
are also a lot of C# developers who aren't that stellar either. As an
owner of an ISV our customers are both VB.NET developers and C#
developers, and I've seen some pretty impressive code from VB.NET
developers, so I don't think it's justifyable to say VB.NET developers
on average are less good than C# developers.

I think it's more a phychological thing: why does person A choose
VB.NET and the other one C#? Some want a compiler that's not that
strict, others want the compiler to be as strict as possible, etc. etc.
I tried to make a special emphasis to avoid any misperception of
being perceived as holier-than-thou but now that you mention it I do
feel very special for "graduating" from VB syntax and grammar. I was
an architect before working with web development and got started on
the web with Cold Fusion which I rapidly came to understand as a dead
end for a person who wanted to finally become adept at "programming."

Silly argument. In 1995-2000 I wrote a lot of VB5-6 COM components for
web apps, simply because it was the easiest way to do that. While
that's anectodical evidence, it will illustrate that a person (me) who
wrote large piles of assembler and C/C++ before that can switch to VB
because it's a more suitable language and after that can switch back
because for that person (me) it was a more suitable language for the
job I wanted to do.

There are some things in the C# syntaxis which I hate deeply too, no
language is perfect (not even my own DSLs! hehe ;))
So I switched to ASP/VBScript for a couple of years and truth be told
I was always intimidated by JavaScript and Java for the reasons most
other users of "VB" have whined about. I only had one class in C in
college and that was enough to give me the itch which didn't even
begin to get scratched until I took a leap of faith and learned C#
and again, I have no regrets.

Good for you, but I think it's personal preferences and has nothing to
do with the quality of language itself. I mean, talk to a seasoned C++
developer about .NET and C# and s/he'll laugh at you why you would give
up so much power for 'absolutely nothing' in return. :)

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
F

Frans Bouma [C# MVP]

sloan said:
Quotes I pulled out:

and the C# design team wants to ensure that the language will be
relevant years into the future.

For C#, that means thoughtful and deliberate evolution with a focus
on general-purpose programming

hehe, yeah, suuurrreeee....

If that was their truest goal, they wouldn't come up with Linq
EMBEDDED in the language, but with a DSL awareness system with which
they would write Linq support (as a true separated DSL), so other DSLs
could be embedded into C# as well, and they wouldn't come up with crud
like partial methods and extension methods (but not properties) as
these are solely there to support their tight embedding of Linq (to
sql) into the C# language.

that's not future, that's here and now.

FB

(Vb.Net)

Redmond is willing to take more chances by adding features that have
value here and now.



--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
K

Kevin Spencer

Hi Clinton,

Not to stir a contentious pot, but I do think there's more to it than "mere"
punctuation. There is common ancestry. While Java and C# have evolved, they
share common ancestry, which is the syntax of the C language. It is the
evolution that has muddied the waters, and while correct terminology is
important in communication, it is understanding that writes good software.

I sympathize, because I occasionally use incorrect terminology as well,
failing to express what I do know to the satisfaction of some, and sometimes
for good reason. After all, in a venue such as this, communication can be
cloudy enough, even when correct terminology is used. That is because there
are always 2 participants in a communication: The speaker, and the listener.
Listening is purely subjective, and human language often falls short of
being able to fully communicate some concepts with perfect accuracy, much as
integral expressions can only approximate real numbers. Subjective
experience, culture, and state of mind come into play in the listening
process. So, it is helpful to be as accurate as possible when speaking.
This, however, is never a guarantee that one will be understood by all
listeners.

Therefore, there is a certain responsibility on the part of the listener to
interpret correctly. After all, there is no guarantee that the speaker will
be perfectly correct in his/her terminology, or the skill required to
express the concept, or, in some cases, that the concept may be accurately
expressed with words. Of course, in the case of programming languages, the
latter is not the case. Programming is integral in nature, and programming
languages are exact.

On the other hand, as in this case, the concept may be a bit fuzzier than is
convenient. As I mentioned, the similarity between the syntax of C# and Java
is not one of "mere" punctuation. In many ways, it is exactly alike. In
other ways, it is completely different. But this is due to the separate
evolution of 2 programming languages having common ancestry. Therefore, it
is impossible to express the similarity of the languages in a simple
statement, or even a short paragraph. It might be convenient to say that
they are "similar," or even "much more similar than the syntax of VB and
Java," but that is not a very informative statement. On the other hand, to
say that they share "mere" punctuation is even more uninformative, as it
ignores the similarites, and the advantages that they provide.

My professional history has certain similarities to your own, in that I am
fully self-taught, having never received any formal education. So, I can
sympathize with your dilemma. I can write solid software with the best of
them, but my communication skills are somewhat lacking. Like you, I
continually try to improve them. But I do take some solace from the fact
that some strengths are correspondent with some weaknesses, and while I am
aware of my weaknesses, I am also grateful for my strengths. We too can
contribute to the community of mankind, and we are valuable.

On reflection, I am happy with my eccentricity. The center of the Bell Curve
would be a boring place for me.

--
HTH,

Kevin Spencer
Microsoft MVP

DSI PrintManager, Miradyne Component Libraries:
http://www.miradyne.net
 
C

cody

herbert said:
Dear VB.NET Team,

you did a wonderful job in making VB.NET a full fledged language, at least
on the compiler side. When teaching students I always see that solving labs
using VB.NET gives a faster result than C#.

However the "distribution chain" to your customers is totally wrecked:
I bought five WCF books in the last months, none of them contains VB.NET
samples. Nor does any of the source code websites I visited lately.
(M.L. Bustamente just shipped a subset of samples in VB.NET, yet her book
does not use it).

The Problem:
VB.NET programmers spend/waste considerable time translating code snippets
and samples by figuring out how to translate nitty gritty C# features which
are not available in VB.NET into working code.
I even have a book by Chris Sells (Programming Windows Forms 2.0) who wrote
me that one of his sample cannot be converted to VB.NET without redesign.

I understand that you have no influence over the publishers like o'Reilly or
Wrox. However

1) you have full access to the publication pipeline of MS-Press (yes: the
WCF books of MS-Press just ignore VB.NET!) So why does MS-Press ignore VB.NET
?

2) All the books are written by authors who are more or less in close
proximity to Microsoft: Juwal Löwy, M.L. Bustamente all make their money
consulting MSFT technologies. So please talk to them!

So for all book writers, speakers at conferences etc:
give them a paper what to avoid in C# in order to make reading for VB.NET
guys easier.

(and keep on rewriting the VB.NET online help samples so that they don't
look like auto-converted C#: there is a For...Each in VB.NET!)

thank you very much
no code no glory!
herbert

The OpenSource .NET programming IDE SharpDevelop has a feature which
allows you translate quickly code snippets from C# to VB and vice versa
with the click of a button.

Another possibility would be you could compile the code sample and then
you can use the freeware program Reflector to export the compiled code
into VB.NET (You can chose any language you want).
 
C

cody

Well, personally I don't like VB.NET's syntaxis because I don't like
languages which are deliberately ambiguous.

What do you mean with that? In which point is VB more ambiguous than C#?
Maybe VB is more verbose than C#, but in change you do not need
semicolons which is also a good thing. Ideal would be a blend of both.
Maybe Python :)
That said, one of the core
members of VB.NET's team nowadays is Erik Meijer. I don't think Erik
needs any further introduction.

Who is Erik Meijer?
 
C

cody

Frans said:
I think it's more a phychological thing: why does person A choose
VB.NET and the other one C#? Some want a compiler that's not that
strict, others want the compiler to be as strict as possible, etc. etc.

That is a very good point.
 

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