VB.NET or C#.NET ???

M

Milan

Hello,

I would like to ask you this question. I am experienced in programming
in VBA and I want to upgrade my knowledge to Visual Studio 2005 now. I
hesitate whether to aim to VB or C#. Since I am familiar with VBA I
would like to choose VB but I heart from my colleagues that VB is a
"dead" language and it will probably not be included in the next
versions of Visual Studio anymore. Their other objection against VB is
that VB is not object-oriented language in fact and that it does not
offer such possibilities in OOP as C# does. On the other hand they
appreciate an ease of VB syntax.

I have to add that I would like to use VB or C# as front-ends to large
DBs placed on SQL server.

Thank you for your opinions!

Milan
 
O

Octavio Hernandez

I heart from my colleagues that VB is a "dead" language and it will
Totally false! VB.NET is as alive as C# and a first class priority for MS.

You could say that of "classic" VB, but certainly not of VB.NET. VB.NET is a
full-fledged OOP language and offers all the possibilities C# offers in that
respect.

Familiarity with VB syntax is usually a reason for selecting VB.NET over C#.

Regards - Octavio
 
S

S Shulman

Hi Milan

Who are your friends?

It is difficult to tell you what to do but actually go on and say that
sounds very unreasonable

Shmuel Shulman
 
H

Herfried K. Wagner [MVP]

Milan said:
I would like to ask you this question. I am experienced in programming
in VBA and I want to upgrade my knowledge to Visual Studio 2005 now. I
hesitate whether to aim to VB or C#. Since I am familiar with VBA I
would like to choose VB but I heart from my colleagues that VB is a
"dead" language and it will probably not be included in the next
versions of Visual Studio anymore. Their other objection against VB is
that VB is not object-oriented language in fact and that it does not
offer such possibilities in OOP as C# does. On the other hand they
appreciate an ease of VB syntax.

As others have already said, there is no reason to use a C-style language
today any more to get things done. If you have a VB background, I suggest
to turn to VB.NET and learn to read C#, which is often useful when dealing
with code using .NET classes. VB.NET is at least as alive as C#.
 
G

Guest

Hi Milan,
VB.Net is definitely not a dead language. There is a much greater VB
population out there than C# so it will not go away any time soon.

When it comes to deciding between C# and VB.Net, really to make a jump
from classic VB to VB.Net is probably just as great as moving from classic VB
to C#, although VB and VB.Net share the same VB initials in order to program
well in VB.Net you will need a totally different mindset.

I personally prefer C# because VB syntax seems too cluttered to me and
makes reading code difficult (obviously I am use to C# so that comment is a
little biased). I also like C# because it is a lot less forgiving that
VB.Net meaning it does not try to assume anything for you, I prefer this as
you know what they say about assumptions.

Mark Dawson.
http://www.markdawson.org
 
S

SpotNet

Milan, learn both, they're pretty much of a muchness at the guts level, they
differ (in a huge way) at the syntax (surface level). Learn one first at
least, familiarise yourself with the .NET Framework in doing so, the other
one will cascade your learning curve. VB will not become a dead language,
well VB .NET anyway. VB 6.0 (also referred to VB .COM) is quickly becoming
(become) a sunset technology. VB .NET is a fully fledged OO language that
has the abilities of C# and visa versa.

Your colleagues may be referring to VB .COM, or are still talk the MS is
planning on phasing out VB rhetoric or, VB .NET has changed VB so much
everyone is going down the C# road or, MS wants to wipe Java out and is
pushing everyone to C#....etc. I can only say (personally) that this is
allot of murmur and noise that tends to come out from grapevines.

VBA may become obsolete in the next version of office??? I'm just saying
that I don't really know. Personally I hope so, we'll see next office
version. Keep your VBA skills for now as having the ability to develop in
Excel is a very handy skill to have.

As for DB front ends VB, C# there's allot of both out there, which ever one
is required of you to do so then, so be it. Keep in mind the VB .NET, C# has
unified programming.

- SpotNet

: Hello,
:
: I would like to ask you this question. I am experienced in programming
: in VBA and I want to upgrade my knowledge to Visual Studio 2005 now. I
: hesitate whether to aim to VB or C#. Since I am familiar with VBA I
: would like to choose VB but I heart from my colleagues that VB is a
: "dead" language and it will probably not be included in the next
: versions of Visual Studio anymore. Their other objection against VB is
: that VB is not object-oriented language in fact and that it does not
: offer such possibilities in OOP as C# does. On the other hand they
: appreciate an ease of VB syntax.
:
: I have to add that I would like to use VB or C# as front-ends to large
: DBs placed on SQL server.
:
: Thank you for your opinions!
:
: Milan
:
 
T

Terry Burns

C# is more elegant as a language than vb.net in my opinion and I have
noticed in the UK at least, that demand for C# coders far exceeds the demand
for vb.net coders.
 
A

_AnonCoward

:
: Hello,
:
: I would like to ask you this question. I am experienced in programming
: in VBA and I want to upgrade my knowledge to Visual Studio 2005 now. I
: hesitate whether to aim to VB or C#. Since I am familiar with VBA I
: would like to choose VB but I heart from my colleagues that VB is a
: "dead" language and it will probably not be included in the next
: versions of Visual Studio anymore. Their other objection against VB is
: that VB is not object-oriented language in fact and that it does not
: offer such possibilities in OOP as C# does. On the other hand they
: appreciate an ease of VB syntax.
:
: I have to add that I would like to use VB or C# as front-ends to large
: DBs placed on SQL server.
:
: Thank you for your opinions!


<sigh>


Your colleague is wrong. VB is hardly a "dead" language which the recent
enhancements MS made to the language in the 2.0 release of the framework
attest. Further, VB.net is as fully object oriented as C#. Can your
colleague give you any real world examples in C# that cannot be replicated
in VB (apart from being able to use "unsafe" code blocks)? Virtually
anything that can be coded in C# can be coded just as well in VB. Yes, there
are situations where C# brings some thing to the table that VB doesn't, but
the same can be said of VB with regards to C#.


At the end of the day, the choice between the languages largely comes down
to personal preference and background. I'm a VB6 programmer for example, so
it naturally I find VB.net preferable to C#. A Java and C/C++ programmer by
contrast would naturally prefer the C# way of doing things. Neither language
is necessarily better than that other, however. The real thing you'll need
to learn if you choose to use VB or C# is the framework. Both languages use
that framework and are fully interchangeable as long as you adhere to the
CLS (common language specification). Once you get a handle on that, the
language you use is for the most part irrelevant. Since you have a VBA
background and are therefore already familiar with the VB syntax, you'd
likely be more comfortable with VB. (That said, you wouldn't go wrong to be
at least familiar, if not competent, with both VB and C#.)


Now, from a career perspective, there does seem to be a bias towards C#
programmers over VB.net - if that is indeed so (and I believe it is), that
reflects nothing more than a market bias. VB programmers have long been
viewed as unprofessional and/or amateur programmers when compared to C/C++
(and more recently Java) programmers. Such an attitude is unfounded and ill
informed, but that does nothing to mitigate the fact that the attitude
persists. That, in my opinion, reinforces my earlier suggestion that at the
very least you become familiar with both languages.


Go with the language you prefer and don't worry about what your colleague is
telling you.


Ralf
 
M

Mark Rae

I have noticed in the UK at least, that demand for C# coders far exceeds
the demand for vb.net coders.

Absolutely correct, especially in the contract market. Simply put, although
I can program in VB.NET if I have to, I have not had any need to do so for
over two years now, and can't see that changing any time soon.

I have not written a single line of VB.NET 2 code, nor do I have any
intension of doing so.
 
F

Fred

Hello,

I would like to ask you this question. I am experienced in programming
in VBA and I want to upgrade my knowledge to Visual Studio 2005 now. I
hesitate whether to aim to VB or C#. Since I am familiar with VBA I
would like to choose VB but I heart from my colleagues that VB is a
"dead" language and it will probably not be included in the next
versions of Visual Studio anymore. Their other objection against VB is
that VB is not object-oriented language in fact and that it does not
offer such possibilities in OOP as C# does. On the other hand they
appreciate an ease of VB syntax.

I have to add that I would like to use VB or C# as front-ends to large
DBs placed on SQL server.

Thank you for your opinions!

Milan

VB is not dead. In particular VBA. But for enterprise level scalable
applications, a c# app, well crafted, would out perform the same VB
app, exactly as well crafted.

I have been testing run times for redundant routines like 2 nested for
loops, which would be order of n^2 , in other words, for every one of
these do this. c# appears to be faster. (console apps)

It's very hard to say since the CLR reduces (if you beleive the specs)
to bytecode your code that is then fed to the .Net runtime.

It may be just as likely that more specialzed languages emerge that
conform to the CLR. OOP languages unique to an industry. .Net has that
power.
Fred
 
B

Bob Grommes

Milan,

You're obviously dealing with some code bigots -- and ignorant ones,
too. But language Nazis are one pragmatic reason to consider C#,
especially since the .NET platform is language-agnostic, anyway. No one
ever kicks sand in your face over C# (or any other C-family lanaguage,
really). But you will often be fighting an uphill battle about the
imagined inferiority or "toy status" of VB.NET (or any other Basic
dialect, really).

Surveys generally show a little better rates of pay for C# work, too.
Far too many companies don't realise that it's not "C# work" or "VB
work" -- it's CLR work -- .NET platform work. But you can use their
ignorance in your own favor by being familiar with the tools, languages,
buzzwords and processes they are fond of. You mustn't deprive your
direct reports of the talismans they surround themselves with.

Remember that the key thing is your skills as a developer, regardless of
the language -- particularly your skill at defining and solving
problems; and secondly, mastery of the platform(s) and API(s) you are
working with, regardless of language. Language comes in kind of a
distant third (at best) in true importance. Just because most companies
hire and recruit based on a simplistic "sack o'skills" model doesn't
mean it really matters in the real world.

My bottom-line advice -- learn both C# and VB.NET, and you'll be
comfortable with the languages used on 98% of all .NET projects.
Knowing one language influences your use of the other and improves your
understanding of the underlying CLR and .NET framework. And if you can
find the time, just for fun, learn Eiffel.NET or some other .NET-hosted
language. Learning new languages is one of the easier things you can do
to broaden your thinking and improve your marketability.

Best,

--Bob
 
F

Frank Rizzo

VB is not dead. In particular VBA. But for enterprise level scalable
applications, a c# app, well crafted, would out perform the same VB
app, exactly as well crafted.

I have been testing run times for redundant routines like 2 nested for
loops, which would be order of n^2 , in other words, for every one of
these do this. c# appears to be faster. (console apps)

I would take exception to that. Why don't you post the code (both
vb.net and c#) and we'll disect it for you. Otherwise, you are full of it.
 
C

Cor Ligthert [MVP]

Milan,

I think that the comments of your friends show why C# is in some places more
wanted.

Cor
 
H

Hans Kesting

Just to repeat a remark I read here previously about the transfer from
VB6 to either VB.Net or C#:

When you come from a VB6 background it's easy to think of VB.Net as
"just VB6 with some syntax changes". This could frustrate you ("why did
they change this") and cause you to miss out on the big changes in the
language (such as real O.O.).
If you switch to C#, it's a different syntax. This will "feel" as a
different language so it's easier to also take up the bigger changes as
"just part of the transition".


Hans Kesting
 
C

Cor Ligthert [MVP]

Milan,
I think that the comments of your friends show why C# is in some places
more wanted.
I write often that this sounds the same as that is told that kids are coming
from cabbage.

This talking from your colleagues sounds for me the same.

Most VBNet people examine things first.

They know better and have therefore much more pleasure with their product.

Cor
 
J

Jon Skeet [C# MVP]

I write often that this sounds the same as that is told that kids are coming
from cabbage.

This talking from your colleagues sounds for me the same.

Most VBNet people examine things first.

They know better and have therefore much more pleasure with their product.

I think that's just as biased an opinion as the pro-C# ones coming from
Milan's friends, to be honest. I don't think it's reasonable to make
that kind of generalisation without pretty detailed research which I
very much doubt you've done. (And as far as I know, no-one else has
done either.)

Jon
 
C

Cor Ligthert [MVP]

Jon,
I think that's just as biased an opinion as the pro-C# ones coming from
Milan's friends, to be honest. I don't think it's reasonable to make
that kind of generalisation without pretty detailed research which I
very much doubt you've done. (And as far as I know, no-one else has
done either.)

I can assure you that I have pretty well reseached that kids don't come from
cabbage and I am absolute sure that I am not the only one.

:)

Cor
 
J

Jon Skeet [C# MVP]

Cor said:
I can assure you that I have pretty well reseached that kids don't come from
cabbage and I am absolute sure that I am not the only one.

Yes, I'm quite happy to agree with you on that.

Now, do you have anything to back up your assertion that VB.NET
programmers "know better" (presumably meaning "do more research before
using something"?) and that they have a better time with VB.NET than C#
programmers have with C#?

Jon
 
C

Carlos J. Quintero [VB MVP]

Hi Milan,
I would like to ask you this question. I am experienced in programming
in VBA and I want to upgrade my knowledge to Visual Studio 2005 now. I
hesitate whether to aim to VB or C#. Since I am familiar with VBA I
would like to choose VB

If you come from VBA, VB.NET is the natural choice. If you come from Java/C,
C# is the natural choice. Also, once you learn the .NET framework and
concepts, the IDE and VB.NET, you will notice that you can learn C# quite
easily and you can switch if you want to.
but I heart from my colleagues that VB is a
"dead" language and it will probably not be included in the next
versions of Visual Studio anymore.

If they refer to VB.NET, the language is quite alive and will be in the
future.
Their other objection against VB is
that VB is not object-oriented language in fact and that it does not
offer such possibilities in OOP as C# does.

So, they are really referring to VB.NET. Well, they are dead wrong about
this. VB.NET is fully OOP.

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
 

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