Monday, June 28, 2004

The VB community doth protest too much, methinks.

I was reading Bill McCarthy's attack on C# on the weekend, and agree with Mitch that it makes little sense. I sometimes find the VB community fairly strange. They are so defensive about their language, you sometime almost wonder if they know that the earth isn't really flat, and that their language is not superior to any other .NET language. I'm not here to stick up for C# - I think C++ (in its 2005 incarnation) is clearly the best .NET language, and STL programming is more like a form of art than coding, but I happily admit I'm in the minority, and the learning curve for C++ is too high for most programmers.

To take Bill to task of some specifics, he says "The C# style (of closing code blocks with curly braces) is very much like those who declare variables as a,b,c,d etc rather than having to type a descriptive, informative name. And we all know that is a bad practice, it’s a lazy practice." So Bill's tone is pretty clear off the bat - its not a preference thing, VB is clearly superior, and C# is inferior. So why does VB use "_" to continue a line. Why not "Statement Continued On Next Line". I've never seen a literature author use "_" to continue a statement on the next line, so clearly lazy worst practice is OK here. And why the lazy "End Sub"? "End Sub" is what happened to the Kursk. Oh, you meant "End Subroutine"? Lazy you. And its the same with "ByRef", "Dim", "Enum", "Xor", "Const", "CType" and others? My goodness. My grandmother, who is a human that can read, couldn't make sense of any of these. But its more readable to you as a VB developer? Surprise, surprise, everyone's language of choice is more readable to them.

The overall point that Bill is missing here is that terse syntax is perfectly fine and readable if it is common and has a well defined meaning. Everyone who can read English understands that the period character ends a sentence. Hieroglyphics isn't understandable by either C# or VB programmers, but it is still understandable if you could work out its syntax rules. All languages have a degree of terseness, including VB.

Sorry Bill, that cold Victorian weather is getting to you a little, though I still love ya and look forward to a cold glass of something together at Tech Ed.


Post a Comment

<< Home