VB .NET vs C#

S

Steve C. Orr, MCSD

I suppose if you assume we're all using notepad then your argument holds
water.
But I'm a real programmer that uses real programming tools because that's
what makes sense.
That doesn't make me lazy, it makes me efficient.
 
J

John Sparrow

VB does use some English words (a quick scan of the keyword list shows
about 70% are English. Examples of non-English words are 'Ansi',
'Enum', 'CSng' etc).

The C# keyword list (half as long, remember) shows about 85% English
words. The most esoteric are things like 'uint' and, yes you've
guessed it, 'enum'.

I showed some VB source code to my non-programmer collegues. They can
read the English language proficiently, but couldn't understand the
code (not suprisingly). That's because, to understand VB, you need to
know over 150 keywords, the Framework, and principles of technologies
like OO, Event driven programming and structured exception handling.

Just like for C#.

Both languages have a deterministic structure - a particular piece of
code means something concrete. It is unambiguous.

If you're trained to read VB, it makes perfect sense and is clear.

If you're trained to read C#, that also makes perfect sense. The only
difference is, 50% less keywords to learn.

John
 
K

Kevin Spencer

I believe this debate has long since reached the point of diminishing
returns!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
http://www.takempis.com
Complex things are made up of
lots of simple things.
 
S

Steve C. Orr, MCSD

There's no reason to be intimidated by all the keywords in VB.NET.
Many of them are leftovers from VB6 and before. They still exist for
backward compatibility & such.
Many of them are now somewhat redundant and unnecessary - but it's nice to
have options.
You can learn those extra keywords if you want, but you don't need to know
most of them to be a good VB programmer.
You're right that C# has less keywords - but many more symbols that you must
memorize, and they can mean different things in different contexts.
Symbols are the main reason "regular folks" don't understand computer code.
The less symbols the better in my opinion. To me it seems lazy to save a
few keystrokes at the expense of readability.
I type very fast as any good coder should, so saving a few keystrokes should
not be as important as self documenting code.
If people could type computer instructions in plain English then anybody
could be a programmer. Of course that day won't be here any time soon but
until then the closest we have come is Visual Basic. Long live VB!
 
J

John Kraft

Lighten up! There's nothing wrong with a healthy debate. Nobody is forcing
you to read this thread.
No kidding!

And, just for the record, I am not a REAL programmer. I'm a programming
student, specificly a senior in Computer Science, at Illinois State
University, so no offense was taken on my part.

John
 
J

John Kraft

There's no reason to be intimidated by all the keywords in VB.NET.
Many of them are leftovers from VB6 and before. They still exist for
backward compatibility & such.
Many of them are now somewhat redundant and unnecessary - but it's nice to
have options.
You can learn those extra keywords if you want, but you don't need to know
most of them to be a good VB programmer.
You're right that C# has less keywords - but many more symbols that you must
memorize, and they can mean different things in different contexts.

Can you give some examples? I think VB is worse at this than C#. One
of the biggest problems I have in VB is determining whether a line of
code is assigning a value or doing a comparison... or more specifically,
how the compiler will treat such code.

I saw a line of code once that said something like:

var1 = (var2 = var3 + var4)

and I was confused for quite some time as to what would happen with the
code.

In C#, the = and == are quite different and a line of code like above
would be far more clear.

John
 
S

Seaside

you to read this thread


you mean dribble don't you? a forum for pompous a$$es to tell everyone why
they think their way is the only way....what a bunch of pious holier than
though crap.
 
S

Seaside

This newsgroup is not for debate! Look at its charter. Take your debate and
cram it you pompous a$$.
 
S

Steve C. Orr, MCSD

That's a good example. In VB you have one symbol to remember, while in C#
you have two.
Normal people know what = means.
Then in C# it's just one more thing you have to learn that's not very
intuitive for most people: the difference between = and ==.
Sure it's not hard to learn, but it's just one more step in having to
geekify yourself. You have to think like a computer, instead of the other
way around.
In VB there is one easily recognizable (=) symbol and you just have to think
about whether you're giving a command to the computer or asking a question
of it. And of course normally you'd have an IF statement in there somewhere
when you're asking a question.

There is plenty of confusing syntax in C#. For instance those darn curly
braces. They are everywhere! The only thing they ever have in common is
opening and closing some kind of block of code. But which kind? If you see
a closing curly brace you've got to scroll back up to where the block
started to find out, which may or may not be easy depending on how long the
block is and how the programmer formatted the text. The only consistently
easy way is if you put a comment after the curly brace that specifies which
block of code is being closed. I see this frequently in C#.
VB is more self documenting. You know what block is closing because it
explicitly says END IF, or NEXT, or LOOP. No comment necessary, and VS.NET
formats it all very nicely and consistently for you in case you do want to
see the beginning of the code block.

And those darn semicolons! What's the point? There's a reason it's named
the "Enter" key!
Of course we're nitpicking now. I'm sure we could go back and forth about
such minor annoyances.

My main point is that you shouldn't have to learn to think like a computer
in order to get them to do useful things for you. One day we won't have to.
You'll simply tell your computer what you want it to do and it will do it.
Computers are getting more and more user friendly and "intelligent" all the
time. Even C# is an example of this trend. VB.NET is simply a better
example of it.
 
S

Seaside

what a dork. If you want to see how good he really is instead of his mouth.
Go visit that piece of crap website of his. Before you take any of these
pompous a$$es advice always check their work. I'm of cours eusing the word
"work" very liberally here.

How's that for debate ORR you pompous A$$
 
S

Steve C. Orr, MCSD

Name calling: What an impressive display of your personality and maturity
level.
I'm glad I don't work with you.

Every newsgroup is for discussion/debate! That's why they exist!
There is almost always more than one way to solve a programming problem and
I enjoy reading different people's opinions about which techniques are
superior in different situations. If you don't enjoy that then I don't know
what you're doing in here.

I happen to feel VB.NET is superior for ASP.NET development. That's why I'm
here stating my case in this newsgroup. I'll admit that C# is somewhat
superior for some other kinds of programming, but that's a bit off topic.

I don't read every message in every thread. I tend to read the ones I find
interesting and ignore the ones that I find to be boring or annoying. I
suggest you do the same.
 
S

Steve C. Orr, MCSD

Well I just got a compliment about my web site from several high quality
developers earlier today. And you haven't demonstrated any kind of
knowledge or skill so far, so your opinion doesn't mean much to me in
comparison.

I don't see any address listed for your web site. Is there a reason for
that? Do you even know how to make web sites? Or perhaps you're just too
ashamed to show us. I suppose its much easier to criticize others so I
guess you're just sticking to what you're good at. I can't blame you.
 
H

HrtgSkr

There are no editors available that create "good" code. Tools like
Visual Studio simply help eliminate syntax errors.
What makes a good programmer is one that understands the purpose of
the program they are coding and builds it to the best use of the
machinery and the users. All languages have their pros and cons, but
a good programmer knows how to construct robust programs with whatever
tools they have. Tools that reduce compilation problems allow more
time for the important testing requirements. Forcing yourself to slave
over syntax when it's not necessary isn't very good programming.
There's way more important things to worry about than syntax!

VB or C# - get over it.

Been there, done that!
 

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

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top