VB or C?

S

Sir C4

As a developer that started with Basic back in the 7th grade on my
trusty TSR-80, played around with Turbo Pascal, but did most of my
coding in MS Basic 4..6 and finally to VB.NET. This was up until two
years ago when I made my new years resolution to drop VB cold turkey
and dive into c#.

Since then I've never looked back, and I have to tell you.. I find c#
a "more logical" language with regards to syntax. The fact that it
makes you write better code (unless you change default setting in VB
IE strict options etc.) helped greatly.

I also found that VB was making assumptions for me, and not always the
way I intended the code to work. I don't think I would have caught
this if not moving to c# and c# forcing me to explicitly code what I
wanted pointed this out to me.

In my opinion I would drop VB for C# again, any time, any day, and
would recommend all others doing the same. Again, this is JUST my
opinion. I don't need any replies arguing my opinion. Just my two
pennies.
 
T

Tom Dacon

I guess everyone needs someone else that they can feel superior to. Kind of
pathetic.

Tom Dacon
Dacon Software Consulting
 
S

Scott M.

Since then I've never looked back, and I have to tell you.. I find c#
a "more logical" language with regards to syntax. The fact that it
makes you write better code (unless you change default setting in VB
IE strict options etc.) helped greatly.

True enough, but the first thing to learn about VB .NET (in VS .NET) is that
"Option Strict" should be turned on. If so, VB .NET becomes a type safe
language, just as C# is. Late binding is not allowed (which leads to poor
performance and run time errors), so they no longer are an issue.

By the way, I also "grew up" with BASIC and the Visual Basic and first
learned VB .NET, but I also code in C# quite a bit and, while I do like that
C# is syntaxually very similar to many other languages, as I just pointed
out there isn't much that C# *forces* you to do that VB .NET doesn't (as
long as Option Strict is on).
 
T

Tom Dacon

True enough, but the first thing to learn about VB .NET (in VS .NET) is
that "Option Strict" should be turned on. If so, VB .NET becomes a type
safe language, just as C# is. Late binding is not allowed (which leads to
poor performance and run time errors), so they no longer are an issue.

Right. Some people call Option Strict the "good programmer" switch :)

Tom
 
R

RobinS

Sorry, but it gets asked about once every couple of months, and is hashed
to death repeatedly. It just seems to me that this is what Google is for.
:)

Robin S.
--------------------------
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Scott said:
???? Not a chance.

Since you admit that you do not understand what I write, then ...

How so what ?

Should I explain what "distinct" mean ?
Well, I would say they cover the jobs that have been submitted to that
particular site,

Obviously.

Except for the UK sites which is an aggregation over
multiple sites.
not nearly all jobs in any one market.

As I said "a pretty big chunk".
Why should I? You are the one making this claim and I am simply pointing
out that based on your "evidence", your claim is useless.

So far we have sites saying that I am right and none
the other way around.

Feel free to not believe me. I guess those with an IQ above 95
got my point.

Arne
 
C

Cor Ligthert [MVP]

Scott,

I think that it is true as Arne writes, therefore I am so interested to the
true job markest in China and India. In my idea there counts more the result
than the magic around a letter C, which they don't even know as character.

Cor
 
S

Scott M.

Arne Vajhøj said:
Since you admit that you do not understand what I write, then ...

When did I say I didn't understand your meaning? The ???? is because I
don't see your logic.
How so what ?

Now, it's clear you don't understand me. Nor, apparently your own point.
Should I explain what "distinct" mean ?

No, but I disagree with your assesment of the many thousands of job sites.
Obviously.

Except for the UK sites which is an aggregation over
multiple sites.

Which sites?
As I said "a pretty big chunk".

How big? And what is the ratio for the listed jobs to all jobs actually out
there?

So far we have sites saying that I am right and none
the other way around.

Yes, all 3 of them.
Feel free to not believe me. I guess those with an IQ above 95
got my point.

Wow, gee thanks. I guess anyone who disagrees with you then is stupid? You
must be a joy to be around yourself. But this mere statement is my point,
you seem pretty big on making blanket statements with no actual proof of
what you are talking about.
 
A

Andy

Many folks are hesitant to re-write something from scratch, rather than
upgrade it to a newer version.
There are so many VB 6 developers out there already that may not be willing
or able (or it just may not be practicle) to start all over with a new
language.

But the difference between VB6 and Vb.Net is not the language at all;
your entire way of thinking about how to build applications changes
from 6 to .Net. I've seen quite a few vb6 programmers end up
programming exactly the same way in vb.net that they have in vb6, and
that's not a good thing.

In those cases it may be better to learn a whole new language, so that
you DO completely throw out what you've done before.

Of course if you know VB and can't learn a new language... that just
doesn't seem like a good programmer. It should be easy to learn new
languages. You're never truely starting over when learning a new
language; it should be just the opposite. You should be 75% there,
only needing to learn the new syntax, but not much else.
 
A

Andy

Yes, all 3 of them.

I have to say, you're missing the point. When selling colas, if you
sell only coke AND pepsi you're pretty much guaranteed to satisfy 95%
of people. In other words, those thousands of other job sites are
pretty irrelevant, because they have far fewer employers and job
candidates using them.
 
M

Michael D. Ober

I read this article a while back and my impression is the same now as it was
then - this guy was trying to justify his salary relative to someone who was
using VB (any version) and outperforming him.

Mike Ober.
 
M

Michael D. Ober

Tom Dacon said:
Right. Some people call Option Strict the "good programmer" switch :)

Tom
I only wish MS had turned it on by default. Option Strict On combined with
Option Explicit On catches all sorts of errors that VB 6 and earlier simply
allowed through. Combined with true project background compilation (C# only
syntax checks the current module) can actually make VB 2005 a more effective
development environment.

Mike Ober.
 
C

Cor Ligthert [MVP]

Michael,

I don't want to interfear about the subject C# and VB.Net. You are talking
about a complete VN.Net subject so maybe better in that newsgroup.

However forgive me, don't forget with Option Strict Off however on the
millions of Peope for which VB.Net with that off seems to be a good tool to
thaught,

Cor
 
S

Sir C4

True enough, but the first thing to learn about VB .NET (in VS .NET) is that
"Option Strict" should be turned on. If so, VB .NET becomes a type safe
language, just as C# is. Late binding is not allowed (which leads to poor
performance and run time errors), so they no longer are an issue.

By the way, I also "grew up" with BASIC and the Visual Basic and first
learned VB .NET, but I also code in C# quite a bit and, while I do like that
C# is syntaxually very similar to many other languages, as I just pointed
out there isn't much that C# *forces* you to do that VB .NET doesn't (as
long as Option Strict is on).

True, but Basic also makes a lot of assumptions for you, like with
casting. Basic will guess what it thinks you mean, yet c# you have to
tell it. I first noticed this with trying to calculate a percent. In
basic is was simple integer division. In c#, integer division gave
different results. It wasn't until I cast them as doubles did I get
the result I was looking for. That's more what I meant by forcing you
to be explicit with your coding.
 
G

Guest

OK, I am not going to say that your opinion is not valid. I had an opinion
also and it was that the most reliable place to find relevant, up-to-date
information on this topic was in this group. Part of the mission of these
discussions is to exchange expertise about Microsoft products. There was
considerable response to my question from a host of helpful people who have
evidently given considerable thought to the issue. They also felt I deserved
an answer.

I believe in general that group questions should be more technical but, the
argument can be made that technical issues dictate the decision tree in
choosing C or VB. Just one look at the answers to my question should validate
that fact. I think I was alright here - this time anyway.

I'm sorry but, "Please avoid personal attacks, slurs, and profanity in your
interactions". is part of our rules of conduct. Perhaps my skin is too thin,
but I feel like I've been attacked here Robin.
 
S

Scott M.

Can you be more specific about how VB.NET makes casting decisions for you?
With Option Strict On, I don't think it does, due to "widening conversion"
and "narrowing conversion".
 
S

Scott M.

And what is your basis for substantiating this analogy?

You do know that *most* people like Ginger Ale, right? I have no facts or
definitive statistics, but I asked 3 people and they all said it. All the
other people are irrelevant.

What about all the people that don't drink cola at all (ie. the people that
don't post all their jobs online or on these particular sites)?

Listen, I'm not saying your wrong, I'm saying give me some credible proof of
your statment(s).

Get it?
 
S

Scott M.

Inline...

Andy said:
But the difference between VB6 and Vb.Net is not the language at all;
your entire way of thinking about how to build applications changes
from 6 to .Net. I've seen quite a few vb6 programmers end up
programming exactly the same way in vb.net that they have in vb6, and
that's not a good thing.

What's your point here? I've also seen bad C# code. VB.NET does not have a
corner on the market of poor developers. And with Option Strict On, VB.NET
is as type-safe as C#.

That last statement has nothing to do with my comments that because of the
sheer volume of VB 6.0 applications out there, re-writing to a whole new
language (the training costs, the lost productivity of attending training
and the lost productivity until the learning curve is assimilated back on
the job, would have a definite effect upon choosing a language (I know, I
own/operate an IT Training company - http://TechTrainSolutions.com).

I see company after company (who have legacy VB 6.0 and Classic ASP
applications) decide either NOT to upgrade to .NET (if it ain't broken,
don't fix it mentality) or go to VB.NET for the reasons stated above.
In those cases it may be better to learn a whole new language, so that
you DO completely throw out what you've done before.

Remember, in corporate America, dollars come before anyting else. In the
end, you can write an app. in VB .NET or C# and get the same result.

But, there is a reason why there is even a VB.NET (rather than MS just
dumping it and going with C#) and why it, unlike C#, icludes legacy
functions like msgbox, CStr(), LCase(), et al, even though new .NET class
methods also do the trick (MessageBox.Show, CType(x, Integer) or
..ToString(), someString.ToLower. The reason is that with VB.NET, while it
may process completely differently and while you really should understand
the idea of true OOP, IL, the CLR, GC and more, you can still use much of
the "old" VB 6.0 syntax. The learning curve from VB 6.0 to VB .NET is not
as daunting as it is from VB 6.0 to C#. This is why there will continue to
be a strong market for VB .NET for years to come.
Of course if you know VB and can't learn a new language... that just
doesn't seem like a good programmer. It should be easy to learn new
languages. You're never truely starting over when learning a new
language; it should be just the opposite. You should be 75% there,
only needing to learn the new syntax, but not much else.

That's great philosopy, but as I pointed out, in corporate America (the
reality is amount COM (cost of migration) and ROI (return on investment).
In the real world (unless you are a consultant), you are at the mercy of
what the CIO decides. For migration scenarios, it very often makes sense
(from a functional and cost standpoint) to take the path of least
resistance. In the end, it rarely has to do with what capacity a developer
has to learn a language - - those folks just seem to find the door
eventually.
 
T

Tom Leylan

Scott my friend... if I might offer a bit of advice, relax :)

If you're willing to buy a fast-food franchise, drop all colas and replace
them with ginger ale I think we might buy into your argument. The fact is
you "know" that Coke and Pepsi account for a substantial percentage of cola
sales. You also know that failing to sell these two brands is "likely" to
reduce your sales. It may not but don't ask somebody earning money selling
Coke and Pepsi to prove it. Rather invest your money and win or lose based
upon your gamble.

And I trust you also know that 3 people is not a representative sampling.
What constitutes a representative sample has been defined by people who are
paid to know these things:
http://en.wikipedia.org/wiki/Sampling_(statistics)

If 99% of the development jobs are going to VB.Net developers but they
aren't visible in the public landscape they are by definition "invisible".
It might be that Eiffel.Net or COBOL.Net has twice as many jobs as VB.Net in
that case right? Lack of public access to the data is a problem but what
are you hoping that people will do in that case, fund studies? What people
are saying in their posts is "as far as I can see" which may or may not be
very far but it is the best that they can do. It would be incumbent upon
the VB.Net developers to point out _not_ that the "flawed study" has flaws
(so does any VB.Net job study) but rather to point to results which suggest
otherwise when using any other accepted criteria.

So instead of mentioning 3 friends, do a Google search on "soft drink
popularity" for instance. Google could have it all wrong but clearly you
see the difference between citing 3 people you happen to know and citing a
statistically neutral group. Can I prove Google messages are statistically
neutral? I doubt it but if I had limited funds and had to decide whether to
only sell ginger ale I'd use it as an indicator.

To further your argument I'll offer the following: there are probably more
poor C# developers than poor VB.Net developers. The total count isn't the
only measure and certainly isn't the primary one. Consider there may be far
more bad singers in the lines at American Idol than in the neighborhood
Burger King. There are simultaneously however some great ones destined to
make some recording company millions. So does a record exec watch American
Idol or visit Burger King stores hoping to keep his "bad" count down?

Personally I don't know the answers, I'll guess that Arne doesn't either
(and that he would be willing to admit it) but we're stuck having to make
decisions. You can choose to sell ginger ale based upon "no reasonable
studies conclude it isn't the number one seller" and others will make the
mistake of thinking "we have to sell Coke and Pepsi or we'll go bust." In
either case we can visit again in say 3 years and see what's up. Arne may
have landed a management position at a firm with 100 C# developers and you
may have a 25% increase in VB.Net students. They aren't mutually exclusive
conclusions.

Hope this helps...

Tom
 

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

Similar Threads

Converting From VB.Net or C# to VBA 7
c# vs vb.net 3
VB to C# 2
C# or VB 9
C# or VB 4
vb vs c# 10
Code editing and compiling outside VS in my application? 3
Save setting to registry using C# 5

Top