Just to clarify...

It seems Andrew's original message and my response have upset a few people.

Chris reminded us:

  • Everyone has to learn somewhere/when
  • A communication breakdown is the fault of BOTH parties, assuming someone is too thick to "get it" could mean you are too thick to explain it ;O)

Greg, as a VB developer, also took offense to this.

It was not my intention to degrade anyone. I've programmed in a lot of languages, and although I do prefer semi-colons, I was not trying to imply that a VB developer is inferior. Please accept my apologies.

My argument is not VB vs. C++. And as far as VB.NET vs. C#, as many have pointed out before, languages in .NET are really just syntactic sugar over MSIL.

What I intended to get across, and it was late so again forgive me if this wasn't clear, was that in my experiences a lot of those VB developers have been weaker developers. Not because their language is inferior, but because VB is easy to be productive in. The runtime handles a lot of things for you, things that you can ignore and just pretend aren't there - the "magic hand-waving" I was referring to earlier. A VB developer can be productive without a good understanding of what's really going on. Unfortunately I've noticed, at least here, that once someone is productive, there isn't a whole lot of motivation to learn more about what's going on. I see this as a leaky abstraction.

There's this sense of "get the code to work", often without regard to the design of the system.  My main point earlier was that, at least in my experiences, I find this attitude more pervasive in the VB camp.

Actually, I see this as a potential flaw of .NET too. Because the runtime does so many things for you - garbage collection, for example - and makes many things so easy (much like VB), it lowers the bar so to speak to be productive. And as I said earlier, being able to be productive without understanding the system isn't always a good thing.

Also, Greg said:

I drive a car to the office.  It gets me from point A to point B.  Your car is no better than mine in that respect.  If I chose to take a taxi, I still get to work.  If I chose to bike it, I still get to work.  heck, if I chose to walk, I still get to work.

Performance considerations aside... this is true, although I'd like to expand on your analogy. Regardless of your mode of transportation, you still need to know where the roads go and how to efficiently plan your route. You also need to know the rules of the road. If I don't realize that I have to stop at the intersection when the cars have a green light, I might not make it to work!

EngineeringWriting