My reasoning goes like this:
1. Before .NET appears, most business type of windows application has
been written in VB6, because it takes so much less time than C++ and
MFC is simply hairy.
2. All ASP web sites are of course built with VBScript.
Now if you're starting a new project with .NET, chances are it's web
based, i.e. ASP.NET. For an experienced ASP programmer to migrate to
ASP.NET, is he going to learn C# or VB.NET? VB.NET of course, it's
just natural.
I am a developer who has given up on C++/MFC for many years to switch
to VB. Yeah, yeah, I know all of VB limitations, thread, speed, and
everything. But I also work with tight deadlines. So do I have a
choice? No. Am I going to learn C# so that I can complete with Java
converts? No. I need to build my next .NET app in 6 weeks. What am I
going to use? VB.NET!
Each language has its benefits, sometimes it makes more sense to use one vs.
the other. They are 95% so similar, that switching between them is easy.
People can use whatever they prefer and whatever makes sense for the
situation.
Does everything have to be a holy war? C# vs. Java, C# vs VB. Enough
already!
"Cecil Lew" <Ceci...@hotmail.com> wrote in message
news:c070879a.02101...@posting.google.com...
It is not bad that you say your word aloud.
But you rather seem scared that you might be wrong, than sound convincing.
At least to me.
Take it easy, it is not a war - just some guys out there showing how "smart"
they are to each other.
Greetings,
Marty
"Cecil Lew" <Ceci...@hotmail.com> wrote in message
news:c070879a.02101...@posting.google.com...
no. i think for the first time, its no more any *smart* or even important to
know this language or that. and i love that. and aint that a .net miracle?
language independant api?
what matters now is your knowledge of api and broader technology concepts.
what you do in this language can be done very well (almost) in ANY
compatible language (20 almost?). ofcourse the authority over a language
will be must to code your ideas. but that thing that these c++ guys are
great over those vb guys will go. thankfully.
now its how much api and broader technology you know that matters and
not whether you know vb.net or c#. how much OO you know? threading?
asynchronous coding? remoting? webbing? databasing? guiing? etc.etc.?? this
matters now. not language.
i am c# from java. and i dont know vb.net. come on. give me your opinion.
"Martin Dechev" <dec...@hotmail.com> wrote in message
news:#7bDu3TcCHA.2116@tkmsftngp08...
is case insensitive so you cannot use things like "decimal" the variable
because it thinks its "Decimal" the type
Every class, method, structure, variable is called MySomethingOrOther
Member declarations like;
Private p As MyStupidClass
as opposed to
AClass p;
MustInherit, Implements, Inherits ***AAAARRRRGGGGGHHHHH***
Furthermore, what the heck is it with Overloads Overrides?? If the darn
thing was declared as virtual, sorry overridable (is that a word?) and the
prototype is identical then it doesn't "overload" anything!!! Its an
override for gods sake!!!
I could go on for hours and now about 6 million people will flame me!
I find VB to be a nasty, baby-talk, brain-dead, embarrasing, pitiful excuse
for a language and I have to program in it all day long because my boss is
too dumb to understand C#!!!!!!!!!!
"Cecil Lew" <Ceci...@hotmail.com> wrote in message
news:c070879a.02101...@posting.google.com...
And yes, it's too wordy mostly because it grew out of VB.
But when you get past that, its functionality is almost the same to C#. And
I've gotten rather used to the case insensitivity, it's kind of convenient.
Also, VS.NET has better intellisense support for VB then for C#.
Also this discussion had nothing to do with what language has better syntax!
It had to do with which one is more marketable and more productive.
Are you storing the result in an integer? Because, by using the language
correctly, I see the correct answer.
> Uses "cute" words like Me and Mybase.
versus "this?" Give me a break.
> Has no real ternary operator because iif evaluates both branches and you
> cannot say x!=null ? x.method : y.method.
There are short-circuited operations. Check out AndAlso and OrElse in the
help. Besides, IIF is a throwback to VB6 and is still a function versus an
operator. . .
> Has array declarators in which you specify the last index you want to
> access, not the number of items in the array.
This was changed back after Beta 1 due to pressure from the VB6 users.
> Cannot understand;
> if true
> dosomething()
> you have to put "End whatever" in all the right places.
Right. . .And Braces never have to be in the right place. . .You can put
them whereever you want.
> is case insensitive so you cannot use things like "decimal" the variable
> because it thinks its "Decimal" the type
If you want to use a reserved word as a variable name, simply put brackets
around it - [decimal]
Of course, why you would want to do that is beyond me unless you are trying
to make your code illegible.
> Every class, method, structure, variable is called MySomethingOrOther
Really? Wow that's news to me. Lets search for everything containg the
string "My" in the object browser . . . . Well, the only item which uses My
as possessive (like you describe) is the ShouldSerializeMyAll method of a
BindingsCollection (not counting Enums which contain items like MyComputer,
etc. . .) Care to restate?
> Member declarations like;
>
> Private p As MyStupidClass
Is the problem with the My or with the explicitness of the type that the
variable is being declared. By explicitness, I mean the presense of the
word As.
> as opposed to
>
> AClass p;
Ah yeah, that's clear. . .
> MustInherit, Implements, Inherits ***AAAARRRRGGGGGHHHHH***
>
What on Earth is wrong with being descriptive? Do you call your significant
other up on the phone and merely say "Chicken?" Or, do you say "Would you
like Chicken for dinner?"
> Furthermore, what the heck is it with Overloads Overrides?? If the darn
> thing was declared as virtual, sorry overridable (is that a word?) and the
> prototype is identical then it doesn't "overload" anything!!! Its an
> override for gods sake!!!
Overridable is a word (and a valid attribute). There is nothing wrong with
the Overloads Overrides combination . . .makes sense to me.
> I could go on for hours and now about 6 million people will flame me!
I am not flaming you and I don't intend to flame. . . I would prefer,
though, that you would learn a little more about the language and the tool
before you cry wolf.
> I find VB to be a nasty, baby-talk, brain-dead, embarrasing, pitiful
> excuse for a language and I have to program in it all day long because my
> boss is too dumb to understand C#!!!!!!!!!!
So, you just do bug fixes on existing software? It seems to me that if
you're writing new stuff and the "boss" mandates your language, then you
have bigger problems. . .
--
Jacob Grass
Microsoft .NET MVP
Check out http://windowsforms.net
But I want my integers to round down. There is no bitshift operator that I
can find so I divided an integer by a nice power of two and the thing rounds
(up? nearest?) every, but EVERY microprocessor in history rounds down on
integer divides. MS have to go make it different "because its easier that
way"
>
> > Uses "cute" words like Me and Mybase.
>
> versus "this?" Give me a break.
ok, i give, personally I just think its cheesy
>
> > Has no real ternary operator because iif evaluates both branches and you
> > cannot say x!=null ? x.method : y.method.
>
> There are short-circuited operations. Check out AndAlso and OrElse in the
> help. Besides, IIF is a throwback to VB6 and is still a function versus
an
> operator. . .
VB's conditional operators are longwinded and sucky. I like to program, not
type for no reason.
>
> > Has array declarators in which you specify the last index you want to
> > access, not the number of items in the array.
>
> This was changed back after Beta 1 due to pressure from the VB6 users.
I told the moron we need to upgrade!! but no, if it aint broke, dont fix it
he says. jeez.
>
> > Cannot understand;
> > if true
> > dosomething()
> > you have to put "End whatever" in all the right places.
>
> Right. . .And Braces never have to be in the right place. . .You can put
> them wherever you want.
"}" versus "End If" is 500% more productive (which is why intellisense needs
to be so good for VB so that it fills in all the %^@#$ that no one wants to
type manually!
>
> > is case insensitive so you cannot use things like "decimal" the variable
> > because it thinks its "Decimal" the type
>
> If you want to use a reserved word as a variable name, simply put brackets
> around it - [decimal]
But why!! even the stupid language knows that "decimal" <> "Decimal" it just
chooses to ignore the fact
>
> Of course, why you would want to do that is beyond me unless you are
trying
> to make your code illegible.
>
> > Every class, method, structure, variable is called MySomethingOrOther
>
> Really? Wow that's news to me. Lets search for everything containg the
> string "My" in the object browser . . . . Well, the only item which uses
My
> as possessive (like you describe) is the ShouldSerializeMyAll method of a
> BindingsCollection (not counting Enums which contain items like
MyComputer,
> etc. . .) Care to restate?
more cheese. pet hate, sorry. Do the same search in the help files,
tutorials and how-to's. Then go look at some VB programmers idea of
software. It's riddled with possessives. Mind you. The unflagging use of
CBlahBlah in MFC is almost as bad. Need a class.. Look under "C"
>
> > Member declarations like;
> >
> > Private p As MyStupidClass
>
> Is the problem with the My or with the explicitness of the type that the
> variable is being declared. By explicitness, I mean the presense of the
> word As.
>
> > as opposed to
> >
> > AClass p;
>
> Ah yeah, that's clear. . .
>
> > MustInherit, Implements, Inherits ***AAAARRRRGGGGGHHHHH***
> >
>
> What on Earth is wrong with being descriptive? Do you call your
significant
> other up on the phone and merely say "Chicken?" Or, do you say "Would you
> like Chicken for dinner?"
When I talk to my wife we sit for hours and do it because its an enjoyable
experience. When I write code I want to get it over with and go home so I
can go talk to my wife!!
>
> > Furthermore, what the heck is it with Overloads Overrides?? If the darn
> > thing was declared as virtual, sorry overridable (is that a word?) and
the
> > prototype is identical then it doesn't "overload" anything!!! Its an
> > override for gods sake!!!
>
> Overridable is a word (and a valid attribute). There is nothing wrong
with
> the Overloads Overrides combination . . .makes sense to me.
I don't care how you argue it, a virtual method is virtual by the fact that
a more derived class will use *Exactly* the same prototype to signify that
it is overriding the base class declaration. The compiler knows!! its just
being bloody minded. An overload, by definition, specifies that the
prototype signature changes because the formal parameter list changes.
therefore, even though the method name is different, its a different
signature, therfore a different method being created. The "Overloads" is
spurious and incorrect in OO concept!
>
> > I could go on for hours and now about 6 million people will flame me!
>
> I am not flaming you and I don't intend to flame. . . I would prefer,
> though, that you would learn a little more about the language and the tool
> before you cry wolf.
>
> > I find VB to be a nasty, baby-talk, brain-dead, embarrasing, pitiful
> > excuse for a language and I have to program in it all day long because
my
> > boss is too dumb to understand C#!!!!!!!!!!
>
> So, you just do bug fixes on existing software?
No!
>It seems to me that if
> you're writing new stuff and the "boss" mandates your language, then you
> have bigger problems. . .
VB is mandated on 95% of the projects we do because its "so easy to work
with" I despise it with a passion!! (couldn't tell huh?? :-) )
I'll shut up now.
"Jacob Grass [MVP]" <JGr...@AbilitiSolutions.com> wrote in message
news:eVdEgAVcCHA.2116@tkmsftngp08...
VB is just plain ugly from the perspective of many people
I know. I just find VB hard to read...
That's, of course, a personal judgement but I guess nobody
ever wrote life-critical applications in VB (if somebody
did, what were the casualties?) so the most professional
developers (who actually do write life-critical
applications without casualities) are alien to the messy
world of VB and consequently will be more attracted to c-
and java- like C#.
--Dyadya Fyodor.
>.
>
all of your other arguments are pretty silly, and most are stupid.
"Percolator" <ns...@goaway.org> wrote in message
news:#36I3yUcCHA.1296@tkmsftngp12...
Well, some may have to write in C# and some may have to write in
VB.NET because of the company policy. If there is no policy, they
still have to read C# or VB.NET because others have written the
code in "wrong" language. But eventually they will learn both
languages.
Anyway, I'm a C++/C# guy who hates ASP mess and don't like
VB-based languages.
--
JMu
"Cecil Lew" <Ceci...@hotmail.com> wrote in message
news:c070879a.02101...@posting.google.com...
Completely untrue and unfounded. . . I know many people that have written
mission and life critical applications in VB6 . . .
Ah, okay, you are using the wrong operator. . . '/' is double division, '\'
is integer division. '\' rounds down automatically as you would expect. . .
>> There are short-circuited operations. Check out AndAlso and OrElse in
>> the help. Besides, IIF is a throwback to VB6 and is still a function
>> versus an operator. . .
>
> VB's conditional operators are longwinded and sucky. I like to program,
> not type for no reason.
Well, Beta 1 was nice because they short-circuited And and Or, and added
Bitwise versions (BitAnd and BitOr), but that was another one of those
rollbacks. . . So, they added AndAlso and OrElse to accomodate those who
wanted short-circuiting. Regardless, though, I would rather read "If x
AndAlso y Then" rather than "if x || y {Do this}" (not a C-style language
user, so that's probably wrong, but I am sure you understand what I am
trying to say).
>>> Has array declarators in which you specify the last index you want to
>>> access, not the number of items in the array.
>>
>> This was changed back after Beta 1 due to pressure from the VB6 users.
>
> I told the moron we need to upgrade!! but no, if it aint broke, dont fix
> it he says. jeez.
VB.NET to C# is not an upgrade, it's a migration :-)
>>
>> Right. . .And Braces never have to be in the right place. . .You can put
>> them wherever you want.
>
> "}" versus "End If" is 500% more productive (which is why intellisense
> needs to be so good for VB so that it fills in all the %^@#$ that no one
> wants to type manually!
"}" is not more productive than "End If" because I don't have to type it in,
the IDE does it for me, as you pointed out. ;-)
>>
>>> is case insensitive so you cannot use things like "decimal" the variable
>>> because it thinks its "Decimal" the type
>>
>> If you want to use a reserved word as a variable name, simply put
>> brackets around it - [decimal]
>
> But why!! even the stupid language knows that "decimal" <> "Decimal" it
> just chooses to ignore the fact
It's not a Case sensitive language, that's why you need the brackets, plain
and simple. What's the beauty of case sensitivity? More productive? Nope.
Easier to follow? Nope. Easier to write completely unclear and unintuitive
code? Yup... Is that a plus? I don't think so.
>
> more cheese. pet hate, sorry. Do the same search in the help files,
> tutorials and how-to's. Then go look at some VB programmers idea of
> software. It's riddled with possessives. Mind you. The unflagging use of
> CBlahBlah in MFC is almost as bad. Need a class.. Look under "C"
Yup, that one sucks too . . . But, the use of "My" doesn't really bother me
as long as it's scope doesn't go beyond a private member variable. . .
>>
>> What on Earth is wrong with being descriptive? Do you call your
>> significant other up on the phone and merely say "Chicken?" Or, do you
>> say "Would you like Chicken for dinner?"
>
> When I talk to my wife we sit for hours and do it because its an enjoyable
> experience. When I write code I want to get it over with and go home so I
> can go talk to my wife!!
So, you like to be descriptive when you speak to your wife. . .Why not be
descriptive when you are talking to a machine?
>>> I find VB to be a nasty, baby-talk, brain-dead, embarrasing, pitiful
>>> excuse for a language and I have to program in it all day long because
>>> my boss is too dumb to understand C#!!!!!!!!!!
>>
>> So, you just do bug fixes on existing software?
>
> No!
>
>> It seems to me that if
>> you're writing new stuff and the "boss" mandates your language, then you
>> have bigger problems. . .
>
> VB is mandated on 95% of the projects we do because its "so easy to work
> with" I despise it with a passion!! (couldn't tell huh?? :-) )
Like I said, if you are writing new .NET code and your boss mandates your
language, then you have bigger problems. Convince your boss that you can
write the same code with either language and then you'll be happy. . .
There is, however, one clear advantage of C# over VB.NET. No, it's not
technical, it's related to employment. Anyone who has been on the .NET job
market recently will quickly tell you that many positions require C#
developers only. Why? Primarily because recruiters associate C# with C++ and
with Java, and they feel that C# somehow carries more credibility as a
result of this association. You can't argue this point with the recruiter,
whatever your beliefs may be, because it is a criterium they will stick to,
and disqualify you for, if necessary.
So in my opinion you should be able to code equally well in both C# and
VB.NET so that your bases are covered. In time, employers will begin to view
VB.NET on the same footing as C#. But until that day comes, you would be
well-advised to be fluent in both languages.
This is my non-partisan, non-inflammatory opinion on the matter.
Jeff
"Cecil Lew" <Ceci...@hotmail.com> wrote in message
news:c070879a.02101...@posting.google.com...
As a long time C++ / MFC developer, I find C# syntax much more
comprehensible than VB.NET's. I believe that eventually most C++ developers
will make the switch to .NET (by necessity, if nothing else), and will most
likely choose C#, rather than managed C++ (yuck!), and certainly rather than
VB.NET. And there are a lot of C++ developers out there!
I completely agree with Jeff's position that the FCL makes the choice of
language largely a moot point, and the choice of language is largely a
matter of syntax preference. The complex part of becoming proficient with
.NET is not the syntax of C# or VB.NET - it is learning the FCL - it is
massive! Once you have proficiency there, the rest is cake.
The whole question of "which language will win" is ridiculous - one of the
big advantages of .NET is that, for the first time, languages can truly
interoperate. This means that not only will no single language "win", but
that others (besides C# and VB.NET) may come to prominence. Since language
interoperability is now a reality, it is practical to develop each part of
an application in the language best suited to that part. (e.g. scientific
calculations in FORTRAN, COM interop in C#, etc.).
Ken
"Jeffrey H" <jhasan...@infoquest.tv> wrote in message
news:unaxytchCHA.1516@tkmsftngp09...
When I code VB6/VB.NET and the IDE adjusts the case for me, I am
grateful. I am not typing a letter, why should I care about pressing
the shift key at the right time?
"Jacob Grass [MVP]" <JGr...@AbilitiSolutions.com> wrote in message news:<eYYZGC6cCHA.1992@tkmsftngp11>...
Absolutely ridiculous the lengths that people go to opine their rather
weird and extreme views on 'a' language and why they chose it !
with regards,
J.V.Ravichandran
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Wait a minute. An industry, which alleges to be on the cutting edge,
is now moving from a syntax created in 1991 to a syntax created in
1973? (The criteria of which was to run on a limited piece of
hardware, and be a replacement for assembler)
C++ looks like C. Java looks like C++. C# looks like Java, and now, VB
will [.NET] look more like C#.
Isn't progress putting the machines to work for the humans? Why are
the humans still managing the complexity and volume when machines do a
much better job of it?
...
> On Wed, 6 Nov 2002 11:35:19 -0800, "Jeffrey H"
> <jhasan...@infoquest.tv> wrote:
...
> >There is, however, one clear advantage of C# over VB.NET. No, it's not
> >technical, it's related to employment. Anyone who has been on the .NET job
> >market recently will quickly tell you that many positions require C#
...
> >VB.NET so that your bases are covered. In time, employers will begin to view
> >VB.NET on the same footing as C#. But until that day comes, you would be
> >well-advised to be fluent in both languages.
...
> >Jeff
> >
> >
> >"Cecil Lew" <Ceci...@hotmail.com> wrote in message
> >news:c070879a.02101...@posting.google.com...
> >> Please bear with me. I want to start another VB.NET vs C# debate. My
> >> position is VB will win over C# eventually.
The practical me wants to believe this because, like you, I don't have
time to learn a new syntax every-other month. However, considering
that the computer industry is more fad prone than fashion or
psychology, I'll have to wait and see.
...
> >> I am a developer who has given up on C++/MFC for many years to switch
> >> to VB. Yeah, yeah, I know all of VB limitations, thread, speed, and
> >> everything. But I also work with tight deadlines.
Good for you (you moved from a 60s, 80s paradigm to a 90s paradigm).
That's progress; you didn't waste your time learning something that
the machine should be handling for you anyway.
In terms of employability, I believe Nick and Jeff (posts above) are
right on target; C# is the hot new buzzword, recruiters and industry
want it.
I also believe VB still has market value, not to mention the huge
installed base of VB 5 and 6 out there.
LB
I completely disagree with you.
VB is a wonderful world of possibilities and you can achive a kind of UI
that is not possible with other languages. It is not in the least messy
and if you knew how to use Activex then you would realise how dynamic
the language is and its ability to allow you to create any kind of
control that you may want. Yes, Activex is not as popular as it should
have been but, in the world of vested IT interests, it was bound to
happen.
>>nobody ever wrote life-critical applications in VB
It depends on what you mean by "life-critical apps". Nobody can write a
UI application using C#. Nobody would try to because it is not meant for
creating UI. Similarly, VB may not be meant for "life-critical" apps. as
you put it.
:-/
--
Arild Fines
> Nobody can write a
> UI application using C#. Nobody would try to because it is not meant for
> creating UI.
b*****x of the highest order!
brian
Bruce L-C
"Brian Smith" <bsm...@nospam.leazes.com> wrote in message
news:memo.2002112...@leazes.com...
New language ?
> I can't think of any words that begin with b and end in x, t
> yes, x no.
Sorry, it must be a uniquely British expletive - a deliberate mis-spelling
of the vernacular word for testicles. :-)
brian
ROTFLMAO.... Are you high? Look, take away VS.NET and C# AND VB.NET are in
the same boat. You write code to produce a UI - and almost exactly the same
code at that. With VS.NET there is virtually no difference - you fire up
the form designer and drag and drop away.
Tom Shelton
> Wait a minute. An industry, which alleges to be on the cutting edge,
> is now moving from a syntax created in 1991 to a syntax created in
> 1973? (The criteria of which was to run on a limited piece of
> hardware, and be a replacement for assembler)
>
> C++ looks like C. Java looks like C++. C# looks like Java, and now, VB
> will [.NET] look more like C#.
>
> Isn't progress putting the machines to work for the humans? Why are
> the humans still managing the complexity and volume when machines do a
> much better job of it?
Newer isn't always better. VB 1.0/2.0 "newness" wasn't all that new anyway.
It reduced complexity by dropping a lot of what a big program needs (the
ability to encapsulate and abstract things in classes and objects.) The
syntax was much the same as structured basic. The big innovation was the
visual drawing of forms. I am still very thankful for having been given that
by Cooper, Bill, et al.
As for the verboseness, I used to like that, but the closer I veer towards
carpal tunnel, the more I like C#. ;-)
I am sure I will always have a certain amount of VB going on (because of the
ton of legacy code we have), but religion is for Linux and Mac users, and
Assembler coders. I use what gets me along best. :-)