Why can't we be Friends?
It might have been harsh to refer to what he posted as ignorant crap; but the fact is that it is ignorant crap. Why can't we all just get along and Interop as well as .NET does? :-)
[Cory Smith's Blog]
I don't think that what I said was ignorant crap. I was making valid points about what C# has over VB.NET. I'm not trying to offend anybody here. I'm merely stating my opinion:
He brings up the fact (which is pointless) that VB.NET **BETA 1** treated Or and And one way, then Beta 2 (and final release) treated it like VB (and BASIC for that matter) has for the history of the language.
The history of the language. So, Cory, you admit that VB.NET is a carry-over from VB and BASIC as well? Or do you still think that VB.NET is a brand new language. And yes, I have gone through the process of converting from VB6 to VB.NET. The two languages are different, but the fact is that there are a lot of carry-overs (just look at the Microsoft.VisualBasic.Compatability namespace) from the days of VB6. The point that I made about Beta 1 is that when Microsoft tried to change VB, all the VB developers said no, and the language was changed back to the legacy way of doing things. Just trying to point out that it isn't a "new language" as Cory stated it was in the comments to my blog.
5. Granular Overflow Checking???? Lost me on this one.
9. C# doesn't allow sloppy namespace work??? what does that mean? Namespaces are Namespaces.
10. Declarative Event Wiring... exists in VB.NET (AddHandler, RemoveHandler); actually better to use than WithEvents.
As to number 5, in VB.NET, you can only mark an entire project as checked or unchecked for integer arithmetic. In C#, you can use the checked{} unchecked{} block to specify which you want at which points.
For number 9, instead of forcing you to use System.Web.Mail.SmtpMail, in VB.NET, you can just type in Mail.SmtpMail...which can be very confusing if you're trying to figure out what Mail is.
Number 10, the AddHandler and RemoveHandler syntax is very odd in my opinion and it exemplifies one of my main pet peeves when it comes to VB.NET: It's hiding the delegate work from you. I think the += or -= operators that the delegates support is a much better way of wiring up events than the AddHandler and Remove Handler keywords.
As for what I said about the features that VB.NET can do that C# can't...calling them "crap"...I recant. I shouldn't have said they were crap. What I should have said is that they are worthless...to me. However, other people may use them, so I'll cut back on the usage of "crap" when it comes to features in VB.NET that I don't use.
I do use C#... just as I use C++. I don't like the syntax or the missing features that IDE has for VB.NET. I've never like the whole "pinkey finger gymnastics" required to use semicolons, colons, slashs, curly braces, and brackets. I like VB.NET because it looks more like English... again, a personal preference... that doesn't make C# inferrior... just different. Likewise with VB.NET... it's just different.
Okay, that's cool. My main problem with people who fight for VB.NET is that usually they have never even tried to use a different language. They're stuck in the VB mindset and they won't even look at C# or C++. So they fight for their language not even knowing what another has to offer. Agreed, the syntax is mainly a matter of personal preference. I like the curly braces and semicolons much more than the End XXX constructs and the line continuation character. You are the opposite. It's cool, no need to argue over syntax.
It might have been harsh to refer to what he posted as ignorant crap; but the fact is that it is ignorant crap. Why can't we all just get along and Interop as well as .NET does? :-)
I still don't think that what I posted was ignorant crap any more than what you posted was ignorant crap. We both are bringing up equally valid points for each side of the debate. However, I don't want to get into a long drawn out language debate, and it doesn't look like you do either, so let's both call a truce...alright? VB.NET does have a Friend keyword, does it not? ;)