Advice on what language to learn VB or C# (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.
 
M

Michael C

Adrian B said:
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.

IMO, he is right. C# is the better language to go for simply because MS are
aiming it more at professionals. The differences between the 2 are pretty
minor but c# is a little bit better. Neither is that much harder than the
other.
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?

Dotnet 2.0 is not that different from 1.1 and 3.0 isn't that much different
from 2.0 if I understand. I guess it depends if you want to save money on
buying new books. With all the effort spent it might be worth buying new
books. Mutliply the hours you will spend by the *after* tax payrate you
currently get, if the cost of the books pales in comparison then buy them
:)

Michael
 
M

Mark Rae

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

Well, this is a C# newsgroup, so you're unlikely to find many people telling
you that VB.NET is better...:)
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).
OK.

Box includes exam vouchers.

Worthless - bin them.
C# will earn me more money in every job I go for

That's certainly the case here in the UK...
and is a better contructed way to code.

Apart from the obvious differences in syntax, VB.NET and C# are pretty much
equivalent. C# supports pointers, but if you don't know what that means, you
probably don't need to know...
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.)

..v2 was released over 14 months ago - forget v1.1

v3 is really badly named - it's not a new version at all, rather some
graphical enhancements...
I don't know whether he is right about C# being the better language choice
to begin to learn (I have no preference) -

Since you raised the question of earning potential, I'd suggest you learn
both...
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?

Yes.
 
M

Michael C

Mark Rae said:
Apart from the obvious differences in syntax, VB.NET and C# are pretty
much equivalent. C# supports pointers, but if you don't know what that
means, you probably don't need to know...

Then again one day you just might need them even though you didn't know
about the feature when you started. Not suprisingly I use all sorts of
features I didn't know about when I started programmer (naturally I didn't
know much :). The only time i've used pointers in c# is for modifying
Bitmap objects, in this case it's not possible (in vb) to do what c# does.
In VB the data must be copied to/from an array which could easily double the
time required.

Michael
 
A

Andrew Robinson

I think in general, C# is the way to go, but understand that there is a time
and place for VB.NET. If, for example, you are doing a lot of work with the
Office Suite, VB.NET is the way to go. VB has the ability to handle optional
parameters which in turn make working with Office apps civilized. If I am
interviewing someone and I asked them which is a better language, C# or
VB.NET, the answer I am looking for is "it all depends on what you are
trying to do." (Personally, I haven't touched VB since VB6.)
 
J

JR

In my way of thinking, VB.NET is useful only for VB (or rather VB only)
programmers that do not wish to learn a completely new language.

Starting from scratch it is better to go to C#.

As was said here, the main difference is syntax, ind C# has a better syntax.

JR
 
M

Michael C

JR said:
In my way of thinking, VB.NET is useful only for VB (or rather VB only)
programmers that do not wish to learn a completely new language.

Starting from scratch it is better to go to C#.

As was said here, the main difference is syntax, ind C# has a better
syntax.

Even for VB programmers there is no reason to keep using vb.net. We were
pretty much a complete vb6 house and started using vb.net. We had meetings
and discussions on and off for a couple of months about going to C#. Finally
we decided to make the switch. It was such a complete non-event everyone was
over it in the first day or so. We couldn't believe we even bothered
debating it, it took way longer to debate than actually do. :)

Michael
 
M

Morten Wennevik [C# MVP]

Hi Adrian

What many people fail to mention when asked about learning C# or VB.Net is
learning one is almost like learning both. Rarely do employers ask for C#
or VB.Net expertise, but they do ask for .Net expertise and if you know
C#, you can easily program VB.Net, and VB.Net programmers can do C# just
as effortlessly. Coming from a Java background, you will find the C#
syntax more familiar than VB.Net though.

As for .Net 1.1 vs 2.0 vs 3.0. Learning .Net 1.1 is certainly not a waste
of time and effort, but it does lack a few features from .Net 2.0. .Net
3.0 however is the same as .Net 2.0. The difference is a few added
libraries, like Windows Workflow Foundation (WF), Windows Presentation
Foundation (WPF) and Windows Communication Foundation (WCF). Installing
..Net 3.0 on a system without any .Net will cause .Net 2.0 to be installed
and the next version of .Net is actually 3.5, which will be launched with
the next Visual Studio.
 
G

Guest

Why should I bin the exam vouchers?


Mark Rae said:
Well, this is a C# newsgroup, so you're unlikely to find many people telling
you that VB.NET is better...:)


Worthless - bin them.


That's certainly the case here in the UK...


Apart from the obvious differences in syntax, VB.NET and C# are pretty much
equivalent. C# supports pointers, but if you don't know what that means, you
probably don't need to know...


..v2 was released over 14 months ago - forget v1.1

v3 is really badly named - it's not a new version at all, rather some
graphical enhancements...


Since you raised the question of earning potential, I'd suggest you learn
both...


Yes.
 
G

Guest

I copied this post (entitled "VB.NET vs C#.NET ...") into the equivalent
VB.NET group this morning, so you can see what the VB.NETters think. I think
I need a balanced argument.
 
R

Ravichandran J.V.

In both the languages, you will need to traverse the complete learning
path not just from .Net 1.1 but from .Net 1.0 even though 1.1 was
considered the more stable version.

VB.Net is considered a fairly simple language because it uses English
like syntax as its language flavor whereas, if you had migrated from the
C++ background or the Java background, you would find C# more convenient
to use. I believe you are from the ActionScript background(right), which
has similar syntax in terms of the class constructs and braces so C#
should be alright for you.

with regards,


J.V.Ravichandran
- http://www.geocities.com/
jvravichandran
- Or, just search on "J.V.Ravichandran"
at http://www.Google.com
 
S

Sir C4

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.

Hands down, C#
 
J

Joel Silva

:) Mark is pretty much fixed with this "certification" concept.

I have to admit that I spent some time thinking about it and I'm closer
to mark's opinion than before. Not completely though :)

joel
 

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