VB.NET vs C#.NET (and 1.1 vs 3.0)

G

Guest

Hi - sorry if this is not the best place to post, but need advice and would
appreciate some thoughts.

I inherited a boxed set MCAD self-study course which I am about to launch
into. The course is based on VB.NET. I have never programmed in VB or C#, but
have worked with some Java derivatives before (Actionscript mainly). Box
includes exam vouchers.
I was talking to a C# developer today, he's been doing this about 2 years.
He said that I should *seriously* consider taking the C# route as C# will
earn me more money in every job I go for and is a better contructed way to
code. These were his opinions.
My other thought on the subject is that the course I have is based on .NET
1.1 and I see .NET 3.0 is about to come out. (Maybe I have the facts wrong.)

I don't know whether he is right about C# being the better language choice
to begin to learn (I have no preference) - what advice/experience do you have
to share? Also, am I a mug to start learning 1.1 now and then going through
the upgrade path to 2.0 and then inevitably 3.0 etc when I could just ditch
the 1.1 books and buy some fresh ones for 3.0 when issued?

All constructive advice appreciated - Adrian

P.S. Please feel free to email me if you think posting a response here is
not best.
P.P.S. I have posted this in the equivalent C# newsgroup
 
O

Oenone

Adrian B wrote:
[...]
All constructive advice appreciated - Adrian

This is how it is in my opinion:

VB.NET and C# are pretty much entirely equivalent in their capabilities.
There are some things that are slightly easier to do in one language or the
other, but really the primary difference between the two is their syntax.

The big thing to be done when learning a .NET language is to learn the .NET
Framework. This is the hugely powerful set of libraries that power all .NET
applications, regardless of language. Irrespective of the choice of
language, the functionality and complexity of the .NET Framework is
identical.

C# does appear for some reason to demand higher salaries than VB.NET. This
is presumably down to greater percieved difficulty and skill levels from the
perspective of management, who evidently don't understand the differences
between the two languages.

So:

- If you want a higher salary, perhaps you should consider C#.

- If you're more familiar with the C/C++ language syntax then a BASIC-style
syntax, perhaps you should consider C#. I don't program Java so I've no idea
how close it or ActionScript are in syntactical terms to C/C++/C#, but I
suspect they're closer to it than to BASIC.

- If you're not familiar with one of those languages, VB.NET is easier to
read and write and definitely worthy of consideration. C# is more concise
but until you get used to it, much harder to read.

The bottom line though is that once you've learned .NET, you should be able
to switch between the two fairly easily.

FWIW I'm a professional VB.NET developer, and I also program C++ for
personal projects. I've not yet found the time to learn to write C#, but
from the C# source code I've read it looks like it should be pretty trivial
to switch with my background (.NET Framework knowledge from VB.NET, C-style
syntax knowledge from C++).

As for v1.1 vs later versions, later versions are definitely better, but
they build hugely on the earlier versions. Learning v1.1 won't be a waste of
time, you'll just find there are additional features available when you use
v2.0 or v3.0.

Hope that helps,
 
C

Cor Ligthert \(MVP\)

Adrian,

This kind of messages came in past 5 times a week.

The only reason was Trolling, moreover that you have multiposted this.

If you want to know what is the best paid and best available, than take a
paper or whatever and see what jobs are there.

This is an International newsgroups, to take two important world harbours,
we can not say what it is about New York compared tot Great Yarmouth.

Cor
 
G

ge0193387

If you've used Java go with C# you'll find that some code copies
directly from one to another since C# was partially developed to get
Java programmers to go the .NET way. In my personal experience I've
found that VB is a little easier to learn since it is very verbose
which builds a syntax of words rather than symbols.

As for the version of .NET to get into almost any version translates
fairly well into another, they all build on the same concepts. The
problem you'll generally find going from a later version to an earlier
version is it sometimes takes more code to accomplish the tasks that
the later version class library takes care of.
 
H

Herfried K. Wagner [MVP]

Adrian B said:
I inherited a boxed set MCAD self-study course which I am about to launch
into. The course is based on VB.NET. I have never programmed in VB or C#,
but
have worked with some Java derivatives before (Actionscript mainly). Box
includes exam vouchers.
I was talking to a C# developer today, he's been doing this about 2 years.
He said that I should *seriously* consider taking the C# route as C# will
earn me more money in every job I go for and is a better contructed way to
code.

I think the money argument depends on your other qualifications. If you are
developer only, then this may be important, but if you are working in a
certain problem domain it does not really matter. I have learned both
VB.NET and C#. There are only some small differences in syntax, but
basically both languages are just the same. However, I prefer VB.NET over
C#. If you have the opportunity, learn both programming languages.
 
T

tomb

This is an excellent reply - I agree 100%

T
Adrian B wrote:
[...]

All constructive advice appreciated - Adrian

This is how it is in my opinion:

VB.NET and C# are pretty much entirely equivalent in their capabilities.
There are some things that are slightly easier to do in one language or the
other, but really the primary difference between the two is their syntax.

The big thing to be done when learning a .NET language is to learn the .NET
Framework. This is the hugely powerful set of libraries that power all .NET
applications, regardless of language. Irrespective of the choice of
language, the functionality and complexity of the .NET Framework is
identical.

C# does appear for some reason to demand higher salaries than VB.NET. This
is presumably down to greater percieved difficulty and skill levels from the
perspective of management, who evidently don't understand the differences
between the two languages.

So:

- If you want a higher salary, perhaps you should consider C#.

- If you're more familiar with the C/C++ language syntax then a BASIC-style
syntax, perhaps you should consider C#. I don't program Java so I've no idea
how close it or ActionScript are in syntactical terms to C/C++/C#, but I
suspect they're closer to it than to BASIC.

- If you're not familiar with one of those languages, VB.NET is easier to
read and write and definitely worthy of consideration. C# is more concise
but until you get used to it, much harder to read.

The bottom line though is that once you've learned .NET, you should be able
to switch between the two fairly easily.

FWIW I'm a professional VB.NET developer, and I also program C++ for
personal projects. I've not yet found the time to learn to write C#, but
from the C# source code I've read it looks like it should be pretty trivial
to switch with my background (.NET Framework knowledge from VB.NET, C-style
syntax knowledge from C++).

As for v1.1 vs later versions, later versions are definitely better, but
they build hugely on the earlier versions. Learning v1.1 won't be a waste of
time, you'll just find there are additional features available when you use
v2.0 or v3.0.

Hope that helps,
 

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