Geeks With Blogs
IDeploy adventures of a geek without a parachute

Although I agree with you on many of your points, I still have to stand my ground. I wrote my original post (included below) last night, but I left it in draft because I felt it might be too harsh a response. I figured I'd sleep on it because I could likely have been responding to the arrogance that I read into your post, rather than what you intended. Based upon your comments today, I'm not so sure, so I'll leave the post below exactly as I hammered it out last night in a heady rage..

FYI, the deciding quote was your response to BradC....

BradC -"Do you realize how much this makes you sound like an arrogant condescending prick??"

You - "Yes. Though I take solace in the support of the industry noteables who have expressed agreement with me."

So, it's fine to be an arrogant prick as long as you can find some respected arrogant pricks that agree with you? That's a sweet justification. Hell, even the way you titled the post is insulting "B is for...."  -- Basic? Did I get that right?

I can live without the dataset as well as the next guy, but I don't agree with the crack metaphor and I doubt Andrew Brust or Stephen Forte would either, though I don't know for sure.

I knew I was hanging the term "RAD" out as easy fodder for you, so let me clarify my meaning there..I was refering to RAD specifically in terms of the GUI design tools. When VB1 developers were happy to code business apps without calling CreateWindow, C developers screamed that VB was not a real programming language. I can tell you that my company has a great deal more end-user time in VB apps than in C apps. You've spent part of your post complaining about the MS internals that don't respect the VB developer, yet you perpetuate the problem. Productivity is the hallmark of a good IDE and a good language, but there's a definite problem when the productivity tools don't encourage good design? Who's fault is that? MS that's who. Marketing the "RAD" that you refer to is just another way for them to gain market share and line their pockets. Perhaps those drag-and-drop baby tools should generate some decent code, then we could all use them.

The fact that MS has refused to "force" its VB children off of the baby bottle is not reason for blaming VB developers for drinking the milk. It's up to all of us to help get those kids off the bottle, MS will never do it.

I'm sure that your continued MVP status is the result of vast positive contributions to the community. THE COINAGE OF THE TERM "Visual Babytalk" IS NOT ONE OF THEM. It's cute and even funny to some degree, but it exacerbates the fissure that MS has already created in its developer community at large.

Indelicate is too pretty a word to reflect the ugliness of your post. It's counterproductive for the community and IMHO completely irresponsible and self-serving coming from an MVP. It feeds into the sophomoric mentality of C# newbies that barely have their curly braces. I'm surprised that you're so unwilling to see that, considering the fact that you were so "concerned" about Paul Ballard's humorous take on TDD.

My point is that we should be encouraging and supporting the growth of the vb6CLRers you've referred to. Some very competent developers do not have the luxury of a language choice in our professional lives, and the term is equally insulting to us. I'm striving for multi-cultural advances, not deepening the rift.

And yes, I too have read a few patterns books :) 

For what it's worth, or are my final words on the matter...

Blue Skies!
Scott G.

My original draft below...


Scott Bellware has offered a particularly well crafted response to my first "where's the love post". I promised myself that I wouldn't get into an "open exchange" on this topic, but I feel that I must. I'll paraphrase Scott on the specific points that I feel compelled to rebut, though his post should be read in full so as as not to take anything out of context. --

Scott has asserted that his disdain for the "Babytalk" culture is reserved for the "fat part of the bell curve, and areas leftward". I'd argue that his entire post could be rewritten to replace references to C# with "Good" and VB with "Bad" without losing much of it's meaning. The problem here is the association and prejudice that his statements perpetuate....
VB = "BAD"
C# = = "@Good";
For the record, I didn't think you were referring to Rocky Lhotka as part of the "Babytalk" culture. :)

SB - ".NET was created because previous programming models were no longer effective. Much of the tooling in the the IDE is provided to give the VB developer a level of comfort in the the .NET space. "It was time to move on, most agreed, and most embraced the change. Many chose only to fake it - choosing only to do VB6-styled work on the CLR."

Microsoft's interest in the the comfort level of VB developers is a migration strategy. If they did not provide this comfort level, the left side of the curve would have been lost, and the right side of the curve may have moved to Java in droves. Microsoft itself has only promoted patterns and architecture in recent years. In large part they've been interested in selling software to managers using ill conceived demos that leave any self respecting developer reaching for a bottle of antacids.

What exactly is "VB6 styled work"? If you're referring to bas modules and design time data binding, I'd call that VB3 style work. VB4 introduced class modules, we used them. We read the patterns books and the anti-patterns books. We hung on the words of experts like Dan Appleman. We used "the other inheritance" and learned the value of encapsulation. We were not all point-click-and-ship developers.

"The VB versus C# question isn't a question of language, it's a question of culture - it always has been. Anyone who approaches this question from a language syntax angle does a very important issue quite an extraordinary disservice....If you really wanna see the difference between VB and C#, have a look at VB and C# programmers' bookshelves, or listen in on their conversations. Give a team of C# developers and a team of VB developers the same application to build, and the conversation about the solution will be likely be as different as the implementation approach"

It is my firm belief that language does not dictate culture. Culture is created and perpetuated by groups of like minded individuals. The cultural difference here is not between C# and VB developers, it's between serious professionals and hobbyists. I'll put serious VB developers in with serious C# developers any day. I'm not approaching this question as a question of language, I'm asserting that the language is largely independent of the culture, and that denigrating those who choose a language is merely a way of keeping them in their places and out of one's own precious world. Responsible leaders in the .NET community welcome all to the fold, and encourage enlightenment rather than sit atop the proverbial Mt. Olympus, looking down on the "Morts" with pity and disdain. Cultural sectarianism is learned, and often further exacerbated by those who feel that they must create and preserve their own identity by dehumanizing others. Based on your cultural experience, I'm surprised that you have not found it in your heart to separate the language of VB from the bad practices of some of its users.

"VB developers and C# developers simply think differently and solve problems differently."
No other statement so clearly displays the divisiveness of your post. "Shucks, maaayybe all of us'n vizual babytalkers should be draggin' are'n butts back thar tu the high skewl and droppin' 'em down in that thar remediul pragrammin klass"

"Our software is only as good as our ability to think, and depending on which language you use to express your thoughts, the solutions to the problems you're solving will be expressed in idioms that are linguistically and culturally constrained"
By your own admission, the language constraints are practically the same in C# and VB. I reiterate that culture in the .NET community is NOT language based. Semicolons don't make you think differently. Problem solving skills are developed through exposure to a variety of problems and solutions coupled with unyielding critical thinking. Language does not constrain one's ability to think so much as it constrains one's ability to communicate their thoughts. I'm no less capable of feeling love of many different kinds because the English language only gives us one word to describe this group of feelings.

"The popular mismatch in expectations is more likely due to VB developers' original marching orders ...once that cultural imperative and predisposition was emplaced, the evolution of the VB language was influenced by it. VB language designers have since always been careful to not introduce language elements that were deemed too techno-intellectual for the VB culture."
Ummm....who's to blame for this? HEY BILL! WE'RE NOT STUPID, I PROMISE!! :)

"Many in the VB culture practically wallowed in anti-intellectual rhetoric, railing against the need for objects and the elimination of variant-based typing."
Funny, I never met these people at VBITS....probably because they didn't know what VBITS was.

As the language evolved to respect the lesser expectations of the culture, the culture subsequently responded by placing less expectations on itself to adapt to the growing demand for software smarts in response to the growing complexity in line of business apps over the past decade or so.

By who's estimation? I'd argue that the problem was not perpetuated by the developer culture, but by the bill of goods that Microsoft continued to sell to managers. Drag and drop....point-click-and-ship...look how fast you can build a line of business app for your company! Ooooohhhh! Ahhhhhh! You too can build windows apps lickitey split! I personally spent half of the early nineties with my face buried in books like "Writing Solid Code" and "Doing Objects in VB".

"When the VB6 community saw VB .NET, there was a lot of panic. .NET thinking wasn't a whole lot like VB thinking. ...."
This was largely due to the differences between COM and managed code. Non-deterministic finalization required some slightly different thinking. Few developers complained that bas modules were going away.

I wouldn’t do without Visual Studio's RAD for designing application components that live in tiers that humans interact with directly. Designing screens and reports without visual designers would be painful (unless you were doing something like naked objects, at which point the whole issue is made largely irrelevant) without it. We've grown beyond the two-tiered, client-server model, but that is essentially what RAD in Visual Studio .NET enables and encourages unwitting developers to build.
MSDN Event demos are largely responsible for the approach you speak of. Only hobbyists think this is good design, and if they end up on virtually any enterprise project, they'll be getting a very fast education. If they're out building non-critical apps for a small user base, they're probably doing less damage than you think. At least they're not doing it in Access!!

"The largest proportion of the .NET developer population that is still engaging in client-server-style development is the VB culture. Others have largely moved on. A new wave came along, one that engendered components, objects, domain-centric development, testability, design and design refinement, reuse, asset-based software engineering, patterns, and agile development. You can't drag and drop any of this stuff - it's all knowledge-based. You can't pick it up with your mouse, you have to pick it up with your beautiful, bountiful human brain. Visual Studio's RAD is still the best darned thing for statically-designed visualization widgets - but that's it, it ends there.
-Agreed, wholeheartedly..but to say that there are more VB developers that have not made the leap into this world than C# developers is not exactly the same as using the term "Visual Babytalk".

I learned everything of significance I know about contemporary programming from hanging out with Java developers. I don't expect anything of VB culture that I didn’t expect of myself when I leaped from FoxPro to JBuilder. The view from mid-air is terrifying, but thrilling too (then again, I'm a hang glider pilot so my tolerance might be a little skewed).
I hope the Java developers that you respected were able to help you along without referring to the "FauxPro" community when you were making that leap. Incidentally, I'm a skydiver so my tolerance is very skewed.

Visual Basic developers and C# developers aren’t made of the same stuff. Am I saying that C# developers on average are better than VB developers on average? Yes, absolutely, without a doubt that's exactly what I'm saying - but only because the VB .NET bell curve is skewed by that massive cast of characters who are still doing VB6 on the runtime.
It's not that I don't believe the bell curve exists, I just believe that the curve is largely language independent. The opinions that you express are mimicked by a bunch of newbies who decided to take up C# based on the idea that they'll be better developers. I wish I had a nickel for every time I read "can someone post this in C#?" on a message board. An average developer is an average developer regardless of his or her language choice.

"Where is the love you ask? It's right here stamping out this blog entry today rather than doing for-fee project work. It's right here telling you straight up and clear what insiders are willing to talk about off the record but not in public within earshot of the Babytalkers. It's beating in my heart when I spend my free time tutoring Microsoft developers who are interested in leaving their crutches behind and reinforcing their relevance as time and complexity march on."
Noble intent, I just think it's better served by not insulting those that you wish to set an example for.

"I'll tell you where the love is not… It's not coming from certain fearful cadres within Microsoft that believe that VB developers can't hack it, who handle VB developers with kid gloves, tell them what they want to hear, and feed them soothing RAD baby food rather than suggest that maybe it's time they did some of the reading and experimenting that wasn't required of them when VB6 approaches were relevant."
Here Here! Attention MICROSOFT!!!! VB developers are perfectly capable of handling multi-syllabic words like "refactor" -- you didn't need to change the menu items, or drop it from VS2005. You must already be acutely aware of this since you knew we could handle "not inheritable" even better than we could handle "sealed". WTF?

"Scott was dead right in pointing out that I've handled my public expression of my dismay with VB culture indelicately. I'm frustrated by watching VB6-styled applications on the CLR crater because the developers and stakeholders have yet to recognize that that boat has left the dock and it's not coming back....I wonder if I'll achieve the will and wisdom to resist uttering "Goo-goo, gah-gah" when one of my dragging and dropping compadres walks up with Gerber's strained spinach drying on his chin. That's a tough one. I'll meditate on it.
I sure hope so Scott, I think it's the duty of an MVP. I already know one MVP who is fond of belittling "Morts" and other outsiders who look up to him. I hope you're above that kind of behavior.

Nobody likes a Sky God.

Posted on Friday, February 11, 2005 12:53 AM | Back to top

Comments on this post: Where is the love? (continued)

# re: Where is the love? (continued)
Requesting Gravatar...
For the record: They are not to be refered to as VB6CLRs anymore - they are hereby CLeaR6Coders
Left by Miguel Castro on Feb 11, 2005 1:39 PM

# re: Where is the love? (continued)
Requesting Gravatar...
<<You can certainly call me an arrogant prick if you like – that’s obviously your prerogative, and obviously a prerogative you’ve chosen to exercise. >>
For the record, I did not call you an arrogant prick, someone else suggested that your post made you appear like one --
You aknowledged the appearance without apology, suggesting that it was OK because other notables feel the same way -- that was your prerogative.

<<Nonetheless, I promise you - crossing my heart and hoping to die, may I be struck dead in my tracks - that there are a good number of well-respected and very visible people expressing some of these same ideas. They’re just not doing it in public fora the way I am.>>

I think "the way" is the operative part here. It's not your message that I think is wrong, just the delivery.

<< I guess they have an aversion to being labeled as an arrogant prick and having their MVP award called into question. >>

I also did not call your MVP award into question. Matter of fact I've stated more than once that I respect you and your award. You'll notice that I link to you. I respect both your opinion and your award, and I agree with you on many of your points.

Blue ones --
Left by scott greenberger on Feb 11, 2005 8:32 PM

# re: Where is the love? (continued)
Requesting Gravatar...
> For the record, I did not call you an arrogant prick

My appologies. I interpretted your rejoinder as an enforcement of the statement.

> It's not your message that I think is wrong,
> just the delivery.

Ah yes, I get that comment every now and then.

> I also did not call your MVP award into question

Fair enough. That's not how I interpretted your "counterproductive for the community and IMHO completely irresponsible and self-serving coming from an MVP" statement.

Left by Scott Bellware on Feb 11, 2005 8:54 PM

# re: Where is the love? (continued)
Requesting Gravatar...
Blue Ones?
Happy Landings?

The only saying that stands out here is CLeaR6Coders!!!

Brings a tear to me eye every time I see it used. :)
Left by Miguel Castro on Feb 12, 2005 3:23 PM

Your comment:
 (will show your gravatar)

Copyright © Scott G. | Powered by: