10 Reasons Why Visual Basic is Better Than C#
-
Here[^] Now, where was that bulletproof vest? <Takes cover under a fireproof blanket> A bulletproof vest can take at least one 45ACP, right?
Light moves faster than sound. That is why some people appear bright, until you hear them speak. List of common misconceptions
Linked article wrote:
Andy ‘Wise Owl’ Brown decided to write a tongue-in-cheek rant whilst he could still remember the pain-points. 'Convert to VB.NET! You have nothing to lose but your semi-colons! '>
Seems most of you take yourselves way too seriously.
Independent ACN Business Owner
- Check out the possibilities for your future!
- Financial independance
- Full time or Part time
- In more than 20 countries through North America, Europe, Asia and the Pacific
- Featuring the ACN IRIS 5000 video phone. See the person you are talking to.
Within you lies the power for good - Use it!
-
Linked article wrote:
Andy ‘Wise Owl’ Brown decided to write a tongue-in-cheek rant whilst he could still remember the pain-points. 'Convert to VB.NET! You have nothing to lose but your semi-colons! '>
Seems most of you take yourselves way too seriously.
Independent ACN Business Owner
- Check out the possibilities for your future!
- Financial independance
- Full time or Part time
- In more than 20 countries through North America, Europe, Asia and the Pacific
- Featuring the ACN IRIS 5000 video phone. See the person you are talking to.
Within you lies the power for good - Use it!
I have deliberately avoided reading this article because I find any article that lays out any form of language x is better than language y is flawed.
*pre-emptive celebratory nipple tassle jiggle* - Sean Ewington
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Linked article wrote:
Andy ‘Wise Owl’ Brown decided to write a tongue-in-cheek rant whilst he could still remember the pain-points. 'Convert to VB.NET! You have nothing to lose but your semi-colons! '>
Seems most of you take yourselves way too seriously.
Independent ACN Business Owner
- Check out the possibilities for your future!
- Financial independance
- Full time or Part time
- In more than 20 countries through North America, Europe, Asia and the Pacific
- Featuring the ACN IRIS 5000 video phone. See the person you are talking to.
Within you lies the power for good - Use it!
Never pass up the opportunity for a good rant!
Sort of a cross between Lawrence of Arabia and Dilbert.[^]
-Or-
A Dead ringer for Kate Winslett[^] -
Here[^] Now, where was that bulletproof vest? <Takes cover under a fireproof blanket> A bulletproof vest can take at least one 45ACP, right?
Light moves faster than sound. That is why some people appear bright, until you hear them speak. List of common misconceptions
Many people are either gloating or being defensive. I think we can see this as areas that could possibly be used to improve C#, and maybe improving C# over VB. I like that people are talking about how the case statement in C# is optimize for performance when it would be easy enough to optimize if used effieciently. First the compiler should be able to optimize, and second, case statements are a bad small, and use should be limited.
-
Here[^] Now, where was that bulletproof vest? <Takes cover under a fireproof blanket> A bulletproof vest can take at least one 45ACP, right?
Light moves faster than sound. That is why some people appear bright, until you hear them speak. List of common misconceptions
I love VB as a language. I also completely agree with the IntelliSense thing... C# IntelliSense is a disaster if you're used to VB. For example: Typing VB: Dim ex As ExcepR... Oops, backspace, tab and it's there. Typing C#: ExcepR... Oops, backspace, no IntelliSense window pops up, either four times backspace or Shift + Home + Delete/Backspace. If you're lucky you don't have to switch to a new line to get IntelliSense support again! This becomes really very frustrating when you got code like obj.Property1.Property2.Property3... However, one reason NOT to use VB...
Form1.Text = "What the? Since when is Text a Shared/static Property!?"
The answer to that question is: Since VB1. And it's still there for 'backwards compatibility' (the compiler does create an instance though) :) So much for Object Orientism. Another one is the default of Option Strict Off. I've seen 'modern' VB code that used the horrible Form1.Text thing and Option Strict Off... You'll never see that in C#. Of course bad code can be written in both languages and with that philosophy in mind I don't really care which language I write. I just slightly prefer VB for IntelliSense and Event Handling in WinForms (that guy is so right about that!) :)
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
} -
Many people are either gloating or being defensive. I think we can see this as areas that could possibly be used to improve C#, and maybe improving C# over VB. I like that people are talking about how the case statement in C# is optimize for performance when it would be easy enough to optimize if used effieciently. First the compiler should be able to optimize, and second, case statements are a bad small, and use should be limited.
Please revisit that statement. I have not gloated or been defensive.
*pre-emptive celebratory nipple tassle jiggle* - Sean Ewington
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Here[^] Now, where was that bulletproof vest? <Takes cover under a fireproof blanket> A bulletproof vest can take at least one 45ACP, right?
Light moves faster than sound. That is why some people appear bright, until you hear them speak. List of common misconceptions
Jörgen Andersson wrote:
A bulletproof vest can take at least one 45ACP, right?
- Not if you're shot where the vest is not. 1) A .45 will still knock you down and make you scream for your mommy. 2) Never just stand there and take the hit. If you didn't bring a firearm to the fight, your best strategy is to hide behind something.
".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 -
Jörgen Andersson wrote:
A bulletproof vest can take at least one 45ACP, right?
I would get more than one, JSOP has plenty of different ammo. For sure can find anything capable to hit you though ;P
Regards. -------- M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpfull answers is nice, but saying thanks can be even nicer.
Nelek wrote:
For sure can find anything capable to hit you though
I have ammo that will go completely through a piece of 1/4-inch steel. How it does on body armor has not yet been tested, but like I told someone else a few minutes ago, "it may not penetrate, but it *will* knock you down and make you scream for your mommy".
".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 -
:thumbsup: Basic was my first programming language - and I haven't used it since I wrote code for the Acorn BBC model B, I guess I'm partial to the c family of languages ...
Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS My LinkedIn Profile
-
Nelek wrote:
For sure can find anything capable to hit you though
I have ammo that will go completely through a piece of 1/4-inch steel. How it does on body armor has not yet been tested, but like I told someone else a few minutes ago, "it may not penetrate, but it *will* knock you down and make you scream for your mommy".
".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, 1997I was not responding to your statement. I just wanted to make a statement that basically originates in the original statement. I reworded, and hopefully this make it acceptable.
-
To add to the above: 1) Case is case - and people use it for different things. Personnaly, I like case to be maintained as it ensures camelCase it not lost halfway through - and since Intellisense sorts it out for you, it is hardly a problem. 2) I will give them that one - but the case statement is not meant for things like that: if statements are. 3) Is it so much work to do this? Rename works to re-assign the handler in C# anyway... 4) If you can't work out symbols for operators, perhaps you would be better off with COBOL... 5) I prefer the C# snippet "prop":
prop[TAB][TAB]
public int MyProperty { get; set; }
Ready to be filled in... 6) Char.IsNumber anyone? 7) For the same reason that most languages have a full stop at the end of the sentence. 8) Doctor Jones, anyone? Professor Plum? Constable Smith? Mr White? Mrs Black? 9) Strictness is a virtue of C# not a problem - hence the existance of type safe List<T> rather than ArrayList 10) And what do you think ReDim Preserve is doing behind the scenes? At least with the C# version it is obvious that this is going to consume time and memory... IMHO Andy Brown needs to get a bit more real-world experience before shooting his keyboard off...
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
OriginalGriff wrote:
- And what do you think ReDim Preserve is doing behind the scenes? At least with the C# version it is obvious that this is going to consume time and memory...
The whole point conveniently ignoring the obvious solution, which would be that if you want to go around resizing your arrays you should use something like
List<T>
and not a regular array in the first place.-SK Genius
Vehicle Simulation Demo - New and Improved!
-
I love VB as a language. I also completely agree with the IntelliSense thing... C# IntelliSense is a disaster if you're used to VB. For example: Typing VB: Dim ex As ExcepR... Oops, backspace, tab and it's there. Typing C#: ExcepR... Oops, backspace, no IntelliSense window pops up, either four times backspace or Shift + Home + Delete/Backspace. If you're lucky you don't have to switch to a new line to get IntelliSense support again! This becomes really very frustrating when you got code like obj.Property1.Property2.Property3... However, one reason NOT to use VB...
Form1.Text = "What the? Since when is Text a Shared/static Property!?"
The answer to that question is: Since VB1. And it's still there for 'backwards compatibility' (the compiler does create an instance though) :) So much for Object Orientism. Another one is the default of Option Strict Off. I've seen 'modern' VB code that used the horrible Form1.Text thing and Option Strict Off... You'll never see that in C#. Of course bad code can be written in both languages and with that philosophy in mind I don't really care which language I write. I just slightly prefer VB for IntelliSense and Event Handling in WinForms (that guy is so right about that!) :)
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}IntelliSense is not a part of either language.
-
case-sensitivity alone is sufficient reason to ditch C#!
If he meant it seriously, then he's a complete moron.
Actually that was the reason I rejected learning c# when .net first came out. Intellisense now makes the issue irrelevant but a VB dev loathes the fact that the IDE does not format the variable name after typing, it is a form of validation that was very useful.
Never underestimate the power of human stupidity RAH
-
That 'snobbery' comes from bad experiences, at least in my case. When someone like the guy who wrote that article claims to have many years of experience and then has nothing else to worry about than case sensitivity, switch/case statements, IDE support or array redimensioning, then something is seriously wrong. It may just be my perception, but thst kind of extremely narrow view and VB often come together. Let them sit in their little world and think they are the best, I don't care. But if I have any choice, I avoid having to work with such people.
I'm invincible, I can't be vinced
CDP1802 wrote:
thst kind of extremely narrow view and VB often come together. Let them sit in their little world and think they are the best, I don't care. But if I have any choice, I avoid having to work with such people.
I suppose the C++/C# people are just oozing with love for, say, COBOL, Fortran, Pascal, and VB programmers! Edit: Just read the next post by OriginalGriff with a comment about Cobol! :laugh:
-
Nelek wrote:
For sure can find anything capable to hit you though
I have ammo that will go completely through a piece of 1/4-inch steel. How it does on body armor has not yet been tested, but like I told someone else a few minutes ago, "it may not penetrate, but it *will* knock you down and make you scream for your mommy".
".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, 1997John Simmons / outlaw programmer wrote:
"it may not penetrate, but it *will* knock you down and make you scream for your mommy".
What exactly are you talking about here? ;P
-
Here[^] Now, where was that bulletproof vest? <Takes cover under a fireproof blanket> A bulletproof vest can take at least one 45ACP, right?
Light moves faster than sound. That is why some people appear bright, until you hear them speak. List of common misconceptions
I am about to go up in front of a bunch of VB developers and explain why the company standard is C# and why they need to change their language. The primary reasons for the change have NOTHING to do with any of the points made by this author.
Never underestimate the power of human stupidity RAH
-
I have to agree with a lot of the issues with C#. The Switch statement is superior, and I also have to agree that good software eliminates Case/Switch statements. However, there is a lot more power in VB version and wish that the C# team would update the Case statement. I also disagree with maintaining the requirement for the break statement. There is no reason to keep it, and it should be eliminated. C# no longer has to deal with expectations of C community. Also, I like the fact that I do not have to worry about case sensitivity in Visual Basic. However I think that this can be resolved in the environment by being able to set a flag to allow the environment to fix case problems. C# does not preclude this since the environment could fix it, and maybe it should. I also like that there is case sensitivity since I can use a variable for a class or property and differentiate it by using low case. In fact the environment (may be fairly easy to implement with Roslyn) can enforce a bunch of naming rules. Of course a few issues are easily fixed by adding extension methods. Yes I think that C# should support them, but it is not really a language issues, it is more of an implementation issue. Yes there are some things like && that are implementation issues, but having the & function also can sometimes be useful. And it is standard with C, Java, etc. Next I will hear the guy asking to replace “+” with “add”. Yes C# could have used the other symbols (caret and reverse caret), but at least they are standard symbols (ever seen APL) I hate the Dim in VB because it no longer is a dimension. Maybe if VB used Def or define instead I might agree. As far as the “;” is concerned, I think that the “_” was worse. The situation has improved, but is it really better? I do agree that sometimes, especially with enumeration, it should not be necessary to specify the entire path. Would be good is C# fixed this. Anyway, VB does not follow other languages as well as C#. C# follows standards created by C and C++.
VB is a bit more forgiving and easier to code in than C, C++ or C#. The High Priests of Coding want to keep the Unwashed Masses away from their profession. There is nothing else to the snobbery of the C group toward the VB group.
-
Don't forget that humans are primates too! Of course, in management-speak, you are all code monkeys!
-
Here[^] Now, where was that bulletproof vest? <Takes cover under a fireproof blanket> A bulletproof vest can take at least one 45ACP, right?
Light moves faster than sound. That is why some people appear bright, until you hear them speak. List of common misconceptions
You just better hope that JSOP sticks by his "because firing twice is just silly".
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
-
Many people are either gloating or being defensive. I think we can see this as areas that could possibly be used to improve C#, and maybe improving C# over VB. I like that people are talking about how the case statement in C# is optimize for performance when it would be easy enough to optimize if used effieciently. First the compiler should be able to optimize, and second, case statements are a bad small, and use should be limited.
Clifford Nelson wrote:
I like that people are talking about how the case statement in C# is optimize for performance when it would be easy enough to optimize if used effieciently. First the compiler should be able to optimize, and second, case statements are a bad small, and use should be limited.
And exactly how many picoseconds are we saving by optimization on a 2.4 GHz quad-core PC? PS. Before you are tempted to tell me about the optimization being needed inside loops, I just want you to know that, if you saved one picosecond through optimization, you need to loop a quadrillion times before you save one second!