trying to decide between vb.net and c#.net

P

Paul James

I'm a database developer working with MS Access, SQL Server and MySQL, and I
would like to develop some browser-based front ends for my databases.
However, building a web-based interface is new to me, and I need to make a
decision about which development language I will learn and use.

I understand that both vb.net and c#.net are powerful languages for this
purpose, and I would like to choose one of the two and focus my efforts on
that language. However, I don't know anything about the relative advantages
and disadvantages of the two.

I have several years of experience programming in VBA in Access, but I've
heard that VB.net is so different that it would almost be like learning a
new language. In any event, I'm not as concerned about taking advantage of
what I might already know about VB as I am about choosing a language which
is likely to be the best web development tool over the next several years -
one that is likely to be in widespread use and supported by the [truly
wonderful] contributors to these newsgroups. At present, it appears both
development platforms meet that criteria.

Can anyone give me some thoughts that might help me with this decision, or
direct me to a source of information that might shed some light on this
subject, and help me make this decision?

Thanks in advance,

Paul
 
H

Hayato Iriumi

Hello Paul,

This topic has been discussed so much before and my conclusion is whichever
you feel comfortable or whichever you like. I really don't see any disadvantage
to either of language when it comes to ASP .NET application development.
I personally developed ASP .NET application in both languages. There are
likes and dislikes on each language. Some people don't like "wordiness" or
VB .NET, some people don't like curly bracket in C#. They are just preferences.
After all, we are programming against .NET Framework, so to me language doesn't
really matter anymore although I wouldn't write .NET app in COBOL...
 
C

Cor Ligthert

Paul,

With Winforms, there is in my opinion a big difference between classic VBx
and VBNet.

With Webform that is certainly in the beginning less.

However, VBNet is for server side not client side. You would have to use
JxxScript or VBA for client side in future as well. (In addition, in my
opinion is the best for the clientside is JavaScript all was it alone
because you can find tons of samples for that on Internet).

A way to go to come from ASP to ASPX.
Make the few needed changes to an ASP page too run it as ASPX.
Take out all inline VBA server side code and set it in special paragraphs in
a true ASPX VBNet way.
And than, take out the Server Side code and bring it to ASPX.vb paragraphs
in a DLL way.

VBNet or C#. When you was a web programmer you would not see it, C# is just
writing JavaScript with more and less possibilities. VBNet is that in the
same way but than with VBA.

Because you said you are not, I would choose for VBNet even when it was only
of the facts that with C# you will have in the beginning everytime case
sensitive and equal operator (which is in C derived languages ==) problems.

For the start you can have a look at this pages, however in my opinion goes
this mostly from the first and second step I describe above.

http://samples.gotdotnet.com/quickstart/

And than there is of course this one that does the thirth step as well

http://msdn.microsoft.com/asp.net/asprk/

Just my thought,

Cor

Paul James said:
I'm a database developer working with MS Access, SQL Server and MySQL, and
I would like to develop some browser-based front ends for my databases.
However, building a web-based interface is new to me, and I need to make a
decision about which development language I will learn and use.

I understand that both vb.net and c#.net are powerful languages for this
purpose, and I would like to choose one of the two and focus my efforts on
that language. However, I don't know anything about the relative
advantages and disadvantages of the two.

I have several years of experience programming in VBA in Access, but I've
heard that VB.net is so different that it would almost be like learning a
new language. In any event, I'm not as concerned about taking advantage
of what I might already know about VB as I am about choosing a language
which is likely to be the best web development tool over the next several
years - one that is likely to be in widespread use and supported by the
[truly wonderful] contributors to these newsgroups. At present, it
appears both development platforms meet that criteria.

Can anyone give me some thoughts that might help me with this decision, or
direct me to a source of information that might shed some light on this
subject, and help me make this decision?

Thanks in advance,

Paul
 
G

Guest

Hi Paul

Be bi-lingual and learn both! As others have said, you are looking at a
front end over the underlying IL code that is generated from your source
code, and both use the same Framework class library. Moving between languages
is really not that hard...

Nigel armstrong
 
J

Jon

c#, no doubt about it. It's "the .net language", it's far superior to vb.net,
and employers take c# programmers far more seriously than vb.net programmers -
ie, you get better positions and higher pay.

People always assume that vb and vb.net programmers are a bit crap. Whatever
people say about .Net's IL, CLR and cross language support, no CTO or proj
manager is going to develop a server or critical app in anything vb related.
That's why companies use c# throughout.

Why use vb.net on the front end, and c# on the back when you can use c# on both
and use the same staff?
 
L

Larry Serflaten

Paul James said:
I understand that both vb.net and c#.net are powerful languages for this
purpose, and I would like to choose one of the two and focus my efforts on
that language. However, I don't know anything about the relative advantages
and disadvantages of the two.

Regaurdless of what others say about one over the other, they are relatively
equal in performance. They both compile to MSFT Intermediate Language.

I would suggest you get samples of both VB and C#, and look them over to
see which one you would like to work with. There are many places you can
go to see the same task done in VB and in C# (VS documentation on MSDN
is one such place, you might also try www.GotDotNet.com ).

If your own preference is not obvious when you see them side by side, then
pick C#. It is the native language of the framework....

LFS
 
H

Herfried K. Wagner [MVP]

Larry Serflaten said:
If your own preference is not obvious when you see them side by side, then
pick C#. It is the native language of the framework....

Huh?! The .NET Framework has a "native language"?!
 
C

Cor Ligthert

Larry,

Was this to get a reaction from me or Hefried?

I did not because of that.

:)

Cor
 
B

Bob Powell [MVP]

You're probably a very lucky person to be coming into .NET and not having
been polluted by earlier versions of VB.

The first thing you need to learn is good object-oriented programming
skills. Both VB.NET and C# are OO languages. VB carries a little bit of
baggage around that it inherited from older non object oriented versions of
the language but they are unimportant. When you understand the underlying
structure of the code the syntactical structure of the language, be-it VB or
C# becomes less important.

You could easily become an expert in both if you took the right path towards
it.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 
P

Paul James

Thanks for the response to my original post, everyone. Your comments and
suggestions are very helpful.

After reading over the responses, I believe I should first spend some time
reading up on the .NET framework and object-oriented programming. It also
seems like it wouldn't hurt to learn the syntax in both vb and C#.

A final question: I'm looking for some web sites that would provide a good
introduction to the .NET environment and related topics. Cor Ligthert
suggested:

http://samples.gotdotnet.com/quickstart/

and

http://msdn.microsoft.com/asp.net/asprk/

and Larry Serflaten suggested

www.GotDotNet.com

All three of those sites look like they have lots of very useful
information. Are there any other sites that might be useful as an
introduction to either .NET and/or object oriented programming?

Thanks again in advance,

Paul
 
L

Lucas Tam

Jon said:
People always assume that vb and vb.net programmers are a bit crap.
Whatever people say about .Net's IL, CLR and cross language support,
no CTO or proj manager is going to develop a server or critical app in
anything vb related. That's why companies use c# throughout.

And why not VB.NET? VB.NET has all the features that C# does (well besides
the XML documenter) so this only goes to show that the CTO is a bit
clueless or bias.
 
J

Jon

Sorry, I disagree.

If a business-critical real-time server app has problems, VB.NET will be blamed.
Right or wrong, you know that's the case. And all the arguments for using
VB.NET; ie the IL, CLR, the framework will only make people wonder why the dev
team didn't use c#.
 
L

Lucas Tam

Jon said:
Sorry, I disagree.

If a business-critical real-time server app has problems, VB.NET will
be blamed. Right or wrong, you know that's the case. And all the
arguments for using VB.NET; ie the IL, CLR, the framework will only
make people wonder why the dev team didn't use c#.

Actually I don't know the case - most managers don't care if you used
VB.NET or C#, to them it's all .NET - which is true. VB.NET = C# (more or
less).

Whatever problems you had with VB.NET will be there in C#. Bad code is bad
code.
 
J

Jon

If you don't know the case then you shouldn't be in the industry.

c# attracts c++ and java programmers and is treated accordingly. The programmers
are generally held in high regard as they have heard of concepts like OO and
multi-threading.

VB.net attracts, well, vb programmers. And let me assure you, everyone cares
about that!
 
L

Lucas Tam

Jon said:
If you don't know the case then you shouldn't be in the industry.

c# attracts c++ and java programmers and is treated accordingly. The
programmers are generally held in high regard as they have heard of
concepts like OO and multi-threading.

VB.net attracts, well, vb programmers. And let me assure you, everyone
cares about that!

1. You have bad hiring practices
2. You have a training issue

Thus C# has no real advantage over VB.NET - your problem is an HR issue.
 
C

Cor Ligthert

Jon,
If you don't know the case then you shouldn't be in the industry.

The sentence of somehone who loose a discussion, it says nothing, however
can forever be used.

(And for me tells that he can not state what he said with facts)

Have you all global facts aobout your statements or is it maybe only in your
village.

Cor
 
J

Jon Skeet [C# MVP]

Lucas Tam said:
1. You have bad hiring practices
2. You have a training issue

Who said that Jon was particularly talking about his own company?

Do you not agree that VB has an image problem, which has been passed on
to some extent to VB.NET? However unfairly, I agree with Jon that there
is a bias against VB programmers.
Thus C# has no real advantage over VB.NET - your problem is an HR
issue.

I don't see the logic for the "thus" here - there are advantages C# has
over VB.NET which have nothing to do with hiring practices or training
issues. Operator overloading (which admittedly can be a blessing or a
curse), unsafe code (ditto), XML documentation without third party add-
ins, unsigned types, and the "using" statement for simple resource
disposal are some of them. VB.NET will be getting most if not all of
these in VS.NET 2005, but for the moment, they're very real advantages
for C#, IMO. (The using statement is the main one, for me - it does
nothing that you can't do without a try/finally, of course, but the
fact that it makes it so easy means that people are more likely to do
the right thing, IMO.)
 

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


Top