Live data from Hacker News

Why Visual Basic is (supposedly) better than C#

simple-talk.com

41–50 of 51 posts

Re: Why Visual Basic is (supposedly) better than C#

#41
I use both VB.NET and C# and I'm actually bothered by the missing case-sensitivity of VB.NET because it makes hard to impose naming conventions. For example if I have a class named as MyClass then it would make sense to name an instance of it as myClass. Unfortunately it confuses intellisense and it suggest me later always the class not the instance. Thereby I'm forced to name my instance as MyClass1 or something else that doesn't feel so natural.

Re: Why Visual Basic is (supposedly) better than C#

#42
post #35

For those who aren't sure if it's satire or not (90% of other comments as I write this), I'll give you a clue: Andy ‘Wise Owl’ Brown decided to write a tongue-in-cheek rant whilst he could still remember the pain-points (it's in the very first sentence )

It's not very good satire. Some of the points are potentially real; it's not clear why they wouldn't matter. When you label something "No offense intendend" and proceed to make offensive statements, your preface isn't helping. Prefacing something with small-font "this is toungue-in-cheek" and proceeding to mix potentially real issues with non-issues a novice isn't helpful. I don't see how spouting irrelevant nonsense…

>It's not very good satire.

If it confused people then it IS very good satire.

>Some of the points are potentially real; it's not clear why they wouldn't matter.

That's the very essence of satire. It has to be somewhat connected to reality.

What you seem to ask for is "grotesque statements" or "surreal humor".

Re: Why Visual Basic is (supposedly) better than C#

#43
post #3

Oh what a piece of BS. Yet another shallow, mechanical comparison of tiny "features" and IDE peculiarities with no other purpose in life other than initiating a decade-old flamewar. And comparing "&&" and "and"? Really?

wait, the article is not sarcasm? I thought the site is some kind of the Onion for programmers?

The main sarcasm is people missing the point, while it's there, in the first BLOODY line of the article.

Re: Why Visual Basic is (supposedly) better than C#

#44

Behind the satire lurks a serious point though - a lot of C# programmers need to get over their snotty attitude to VB.NET, because once you get past the whole VB stigma thing they're basically isomorphic. One point the guy didn't make was that VB.NET has XML literals, which are very nice if you like that sort of thing.

I find that most C# developers don't have strong feelings about VB.Net; if they comment on it negatively, they are probably trying to avoid the old stigma by association.

Although VB.Net's syntax is not really my cup of tea (it's a bit too wordy for me), I find that many of the keywords make a lot more sense than the equivalent C# ones. E.g. explaining the meaning of "shared" is a lot easier than explaining "static", because the concepts it brings to mind are closer to what's actually happening.

Re: Why Visual Basic is (supposedly) better than C#

#45
post #36
post #24

I used VB for many years and didn't understand why the C# people mocked it... then, about 3-4 years ago I switched and have not looked back. In my honest opinion, whilst VB is obviously fully supported, C# just "feels" more professional... When you get your head around the syntax, you can seamlessly move between C#/Javascript and many other languages that all follow similar syntax without even thinking. In addition,…

Learning C# to make switching to Javascript easy seems somewhat backwards. Plus it's not as if it's hard to leap between C-syntax and VB's syntax anyway. They're both imperative languages with much of the same core blocks (albeit often called differently). Switching between such languages shouldn't take more than a quick glance through a "beginners guide" and then some cross-referencing as you go alone (like using an…

I didn't learn C# to make Javascript easier - I switched to C# due to the majority of work in my specialty requiring it more and the fact it paid a lot more.

The side effect.... I always found that programming VB was easy but switching to Javascript AND other languages took a few minutes to get my head around (or I would mix some syntax up)...

Now I find that I can flawlessly switch between Javascript, C# and a few other languages without losing speed at all, and generally, I find that I am a much better programmer for switching.

Re: Why Visual Basic is (supposedly) better than C#

#46
post #43
post #3

Earlier quoted context omitted.

wait, the article is not sarcasm? I thought the site is some kind of the Onion for programmers?

The main sarcasm is people missing the point, while it's there, in the first BLOODY line of the article.

It's in a box which has the effect of making it invisible.

Re: Why Visual Basic is (supposedly) better than C#

#47

Sigh. I'll actually do the job of debunking these one by one. 1. Almost every mainstream language has case-sensitivity. This avoids ambiguity by having only one right way to express a given variable. Since Visual Studio has excellent autocomplete, you don't have to repeatedly use SHIFT, and you are unlikely to accidentally mistype the variable name. Of course, when I see an argument like, "When you accidentally leave…

> The author then continues to say that the comparison symbols in C# are "stupid" compared to Basic's "And", "Or", etc. This argument almost doesn't deserve to be addressed It does. I'm pretty sure VB's "And" and "Or" don't short-circuit… > 8. The author complains that the type for a variable declaration precedes the variable name in C#. Somehow this is a major problem. Obviously just scraping the bottom of the barre…

> It does. I'm pretty sure VB's "And" and "Or" don't short-circuit…

Interesting, didn't know that. However, I got the feeling that he wasn't talking about how the operators work so much as what they are named.

Re: Why Visual Basic is (supposedly) better than C#

#48

Sigh. I'll actually do the job of debunking these one by one. 1. Almost every mainstream language has case-sensitivity. This avoids ambiguity by having only one right way to express a given variable. Since Visual Studio has excellent autocomplete, you don't have to repeatedly use SHIFT, and you are unlikely to accidentally mistype the variable name. Of course, when I see an argument like, "When you accidentally leave…

> The author then continues to say that the comparison symbols in C# are "stupid" compared to Basic's "And", "Or", etc. This argument almost doesn't deserve to be addressed It does. I'm pretty sure VB's "And" and "Or" don't short-circuit… > 8. The author complains that the type for a variable declaration precedes the variable name in C#. Somehow this is a major problem. Obviously just scraping the bottom of the barre…

> It does. I'm pretty sure VB's "And" and "Or" don't short-circuit…

Interesting, didn't know that. However, I got the feeling that he wasn't talking about how the operators work so much as what they are named.

Re: Why Visual Basic is (supposedly) better than C#

#49

Sigh. I'll actually do the job of debunking these one by one. 1. Almost every mainstream language has case-sensitivity. This avoids ambiguity by having only one right way to express a given variable. Since Visual Studio has excellent autocomplete, you don't have to repeatedly use SHIFT, and you are unlikely to accidentally mistype the variable name. Of course, when I see an argument like, "When you accidentally leave…

10. The author complains that is not possibly to reinitialize arrays to a new length in C#. He admits that he has been told that, "I should be using lists and not arrays anyway." But he retorts that, "The point is that - as so often - Visual Basic makes something easier to code than C# does."

I feel like this case in particular captures the essence of a cultural difference between C# and Visual Basic. However much it's grown over the past 20-odd years, VB's roots as a RAD kit - a platform designed to let people slap together code without having to worry themselves overmuch about engineering concerns - are still with it.

It leads to things simply being seen differently. To the author, the point is that it's easier to do X, as simple as that. To the kinds of programmers who tend to gravitate toward C#, on the other hand, Redim Preserve is a code smell that indicates it's time to rethink your choice of data structures. The idea of having a language-level feature whose only purpose is to make it easier for people two write bad code is anathema.

I don't want to hate on VB.NET too much, because overall it's a very good language. I personally prefer VB's switch statement, for example. Deciding between a jump table and a sequence of conditionals should be the compiler's job, not the programmer's. However, I do have one huge complaint about it in there are some features that it never should have inherited from VB6 in the first place. Phrases like 'Redim Preserve' and 'On Error Goto Next' always make me shudder. And when I'm called in to help figure out performance and stability issues in our VB projects, they play a part in my findings with alarming regularity.

Post reply on HN