|
Hello Everybody,
As a software developer that has used VB.NET for several projects over the years, I am used to the look that I sometimes get whenever my VB work comes up in conversation. It says "Oh, that's cute. When you grow up, maybe you'd like to try C#. It's got curly braces and everything!".
Those with opinions on whether or not VB.NET is a 'real' programming language or not generally fall into one of three categories:
1. Those that have worked in it and enjoy using it. While it is not my only (or even my main) programming language, I proudly include myself in this group.
2. Those that have tried it and after doing so decide they don't like it because it's too verbose etc. That's completely fine by me, no language is for everybody.
3. Those that have acquired an illogical, extreme hatred for it through an unholy combination of hearsay, rumour and code samples (often VB6) they've seen on the internet. They have never tried it and so are horribly uninformed on the topic. They say things like "VB isn't a real language!" and "VB is a language for babies!". It is with this group that I take issue.
Today, I overheard a colleague inflating his own head by bragging about the progress he was making on his C++ course while designing a class in Java with another colleague. He had just finished calling VB a 'baby language' among other things when I caught this little gem:
"What's the point in declaring things as private? Just declare everything as public. That way nothing will break."
For someone with such a billowing ego when it comes to his experience with 'real' programming languages, that last sentence demonstrates without a doubt that beneath the haughty 'I'm a real programmer' exterior lies a secret - 'I have got no idea what I'm talking about'.
This is an example of the VB Stigma in action. People have flaunted their negative opinions of the language to my face even when they know that I have worked on several successful VB.NET projects with other programmers in the past. I find myself having to lead a secret life as 'one of those VB people' to avoid being looked down upon. My question is - why? It is built on exactly the same technology as C#, but I very rarely hear that talked about with the kind of vitriol that some people seem to reserve for Visual Basic. Do some people really need these things '{}' every couple of lines to feel like they're actually programming?
In my opinion, for what it's worth, one of the best things about programming is the diverse tool set we get as programmers for doing what we do. We're lucky enough to have C++, Java, C, C#, VB, Python, Perl and so many other languages of various types to choose from to accomplish different things. I think we should try to keep it that way by respecting other people's right to use the language they enjoy the most without heaping scorn on them for using what is, to the uninformed, the 'wrong' one.
So what do you guys think? Am I missing something here? Is there actually a reason beyond ego that in 2012 people still have this attitude towards VB.NET?
SixOfTheClock
A programming language is to a programmer what a fine hat is to one who is fond of fancy garden parties. Just don't try wearing any .NET language on your head. Some of them are sharp.
|
|
|
|
|
I don't have much of a problem with VB.NET. Like you say, it's just another language. My neutrality for VB, however, does not extend back to the old none .NET versions. The fact that the old VB played fast and loose with COM rules really caused problems for me as a C++ developer, and also helped to corrupt a lot of registries.
Funnily enough, this is the second time in two days that I've got onto this topic to rant about it.
|
|
|
|
|
SixOfTheClock wrote: "What's the point in declaring things as private? Just declare everything as public. That way nothing will break."
People like this are morons in any language.
It's like you say: VB is just another tool. It is neither good nor bad though you can produce code of either flavor. Personally I prefer c# but I don't think its any better; it's just my tool of choice right now.
You're not missing anything: there will always be people for whom the tool set they work with is supreme and everything else is rubbish,. Ignore them, they'll soon be back at MaccieDs flipping burgers.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|
|
mark merrens wrote: "If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
Funny ... that's my signature on most of my forum accounts too. Small world.
-CB
|
|
|
|
|
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|
|
If you like Red Adair, there's an old John Wayne movie called "Hellfighters" that tells the basic story of oil fire fighting. Good old flick.
-CB
|
|
|
|
|
Seen that a few times: great movie.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|
|
Yes I know what are you talking about as a freelancer I have seen serious projects on the web built on that language, I myself dont like the VB syntax. But this is like a 6 year old classroom and VB is the boy that everyone like to make fun of him, it doesnt make sense but is the hard truth. Maybe also because its from microsoft.
|
|
|
|
|
Vasily Tserekh wrote: Maybe also because its from microsoft.
If that were the case, C# would also be lambasted.
|
|
|
|
|
Pete O'Hanlon wrote: If that were the case, C# would also be lambasted.
It is, as is Microsoft's implementation of C++... and their latest attempt at Windows...
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
VB.NET makes my eyes bleed.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
Sneezing while resting my eyes on chopsticks makes my eyes bleed.
|
|
|
|
|
Nah, it's more like seeing Jessica Alba in a fat suit. Purely cosmetic.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
Clean up on aisle 4
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
Ignorance is language agnostic.
|
|
|
|
|
I grew up on Atari Basic, then IBM Basic, then QBasic, then Visual Basic 3, 4, 5, and 6... VB6 served a purpose, but it was also very easy to write horrible, eye-burning code with (I had to maintain someone else's)...
Then VB.NET came along... Good framework under it, and wordy syntax that's easier for newbie programmers to grasp. It's a real langauge now, and I've written a couple major projects in it, but it just reminds me too much of those old VB6 projects.
C# feels cleaner and more efficient, and is easy to read if written correctly.
Anyway... Back to porting another piece of this old kludge of a VB6 system to C#... Don't ask.
|
|
|
|
|
Ian Shlasko wrote: VB6 ... was ... very easy to write horrible, eye-burning code with
code with
Are you seriously saying that you have never seen 'horrible, eye-burning code' in C, C++, C#, Java, JavaScript, Python, PERL, F#, APL, Assembler(s), LotusScript, FORTRAN, LISP, Algol60, etc, etc? A good programmer can write good code in any language; a bad programmer can write bad code in any language. The language is only the way that you write a representation of the algorithm that you thought up in your head.
|
|
|
|
|
It's a very different flavour of horrible, eye-burning code. One can quite easily write terrible code that somehow manages to run, possibly due to all the goats being sacrificed as fuel. Such abominable code certainly does exist in every language ever made, but it takes a great deal more effort to produce the forsaken mess - even poor programmers tend to give up by then and rethink their approach.
Sometimes a fist in the face says more than a thousand honeyed words.
|
|
|
|
|
Ian Shlasko wrote: C# feels cleaner and more efficient, and is easy to read if written correctly.
You know ... I prefer C# now myself, but your statement could apply to either language. Hell, well written COBOL is easy to read and I won't touch that language.
God, this is getting to be an old discussion isn't it? What next, Linux vs. Windows?
-CB
|
|
|
|
|
1st, let me just say, my first language was QBasic then VB4 ( I don't count my youthful meager C++ approaches). Professionally, I have done VB6 and VB.NET. Now for why I do not advocate VB: The majority of people drawn to VB are drawn to eat because they associate Basic with "easy" and no need to do it right. Quick and dirty is good enough, maintenance is unimportant. "Heck, I am a manager and I can program" is a scary phrase.
I will never negatively criticize a well written VB application; however, they exist in some nether region that has escaped my vast experience. (My own work included, I have to use so many hacks in VB6 that it makes me cry).
Second, VB.NET is a decision that is often made because the team is moving from or has experience with VB6 and not from a rational perspective. Or it is made because, "Talent is Cheaper"
Third, C# is lucky, sharing a similar syntax with C, C++, and Java and having very similar APIS you can easily switch languages natural.
Fourth, no one should have to wonder why this doesn't work:
if not foo is nothing and foo.Id < 10 then
end if
Fifth, I could go on but, well, no matter how rational a point is a VB nut will downvote me.
|
|
|
|
|
Ennis Ray Lynch, Jr. wrote: Fourth, no one should have to wonder why this doesn't work:
if not foo is nothing and foo.Id < 10 then
end if
Well it work's just fine if you write it the corrcet way.
if not foo is nothing andalso foo.Id < 10 then
end if
In my humble opinion I find that most people criticise other languauges without having a full understanding of them. For me I use both C# and VB.net and I don't really favour one over the other. All depends on what project I am working on at the time.
|
|
|
|
|
I remember the day Microsoft decided, that in order for the migration to be easier between VB6 and VB.NET they changed the AND to not be short-circuit. That was they day, I truly gave up on VB. My point was more that I did write it the correct way, AndAlso is stupid. I am not an ancient yet but I will eventually get there, and in all my time I may have written less than a dozen non-short-circuit statements. The overwhelming majority are short-circuiting. Microsoft decided that backwards compatibility(whatever that means) with VB6 was more important than making a more used feature harder to use than a less used feature. Really, that is all you need to know right there. That and bacon, I win the discussion because I invoked bacon.
|
|
|
|
|
Could not agree more (and not just because of bacon).
I understand it's a nit (maybe a peeve?), but any language that the developer has to tell the compiler, "I want you to evaluate this expression as efficiently as possible" instead of that being baked-in is just annoying.
Also, in the 21st century, we still need a continuation marker on wrapped lines?
But, to answer the OP, there's nothing fundamentally wrong with VB.NET--good, solid development can, and probably does, occur in that framework.
As pointed out above, though, the stigma of a trail back to VB6 (which certainly deserves the stink it has) has (perhaps unfairly) tainted VB.NET.
|
|
|
|
|
That was exactly what was missing on my handful of arguments for my VB.Net hatred.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
----
Our heads are round so our thoughts can change direction - Francis Picabia
|
|
|
|
|
Possibly the reason you hate VB.NET is that you, like most people who post here, are more consumed with how you solve the problem than solving the problem. One of the biggest issues with developers and projects is that we spend so damn much more time trying to decide what tools we should use than we do understanding the problem that we are (or should be) attempting to solve. I liken it to an old carpenter that I knew who always said that "Hell I can frame the wall with my hammer in the time it takes these kids to get their compressors setup, charged up, and the nail gun loaded".
We, in my opinion, spend so much productive time attempting to come up with new, more elegant ways to do things.
But as Dennis Miller used to say "That's just my opinion, I could be wrong"
|
|
|
|
|