Jeremy D. Miller -- The Shade Tree Developer

Sponsors

The Lounge

Syndication

News

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
A Challenge to the VB.Net Community at Large on OSS

I had a 3-4 way Twitter conversation with Roy Osherove today that left me hot under the collar even several hours later.  The conversation basically played out like this:

  1. Roy:  Boo hoo, new .Net OSS projects are using advanced features in C# that might make those tools hard to use in VB.Net
  2. Me:  Maybe, but I'm optimizing the user experience of these tools for C#.  I'm not going to sacrifice user experience in favor of a little extra reach.  Besides, VB.Net devs are a very small percentage of OSS users.
  3. Roy:  Jeremy is an anti-VB bigot!  Who's with me VB guys?  VB guys can't use or participate in OSS because they're actively turned away by guys like Jeremy!

and then Roy proceeded to present himself as the champion of all those poor dispossessed VB.Net developers with some cheap theatrics.

 

To you Mr. VB.Net Dev:

Stand up if you don't like the way things are.  I have never once gotten any kind of specific suggestion about how to make StructureMap more palatable for VB.Net usage.  I've gotten complaints, and some questions (which I have answered), but not one single specific suggestion or patch that I recall.  Mr. VB.Net developer, if there's something you want or lack in an OSS framework that would make it easier/better to use that tool with idiomatic VB.Net, you know who's probably most qualified and able to write that patch?  You are!  I don't write software in VB.Net, and haven't used VB.Net in anger since .Net was in and early beta.  I'm not going to get VB.Net idioms, and I don't have visibility into VB specific issues.

And you know what?  There isn't a major OSS project on earth that doesn't like getting patches.  I would love to get real, useful contribution from the VB.Net community in regards to an improved user experience with StructureMap -- but I'm not going to pay attention to empty complaints, and I'm certainly not putting up with vilification.

I'll go a step farther, give me a usable patch for StructureMap for better VB.Net usage, and I'll have it released within 48 hours on Sourceforge.

Actually, now that I'm a bit calmer, take this to heart.  OSS projects are owned by the community -- meaning that you can pick up the reins and do something about a tool that lacks something you need or want.  Don't be passive.  Heck, you could even write your own.  You don't think that OSS projects are a friendly place for VB'ers?  Start your own and make the .Net ecosystem even richer.  Hell, it's not rocket science after all.

And p.s,. you really need to get the VB.Net team to give you multiline Lambda functions in the next version of VB.  Trust me, once you have them, you'll never want to code in a language that lacks them ever again.

 .



 


Posted Wed, Jan 7 2009 8:21 PM by Jeremy D. Miller
Filed under:

[Advertisement]

Comments

rssvihla wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 9:42 PM

This is a common issue with OSS projects in pretty much any community.  You're in pretty good company.

As a leader of a notable OSS project how you respond will determine how far your reach is.

So question is, do you want to jump start VB.net uptake or not? I'm sure it falls under "nice to have" but hardly anywhere on your "must haves" well behind improving codebase and keeping that fluent interface top notch.  This is ok in the morality of OSS projects, but not everyone seems to dig this perspective, so be it, again you're in good company.

Final note the "get me a patch" approach seems to suffer from chicken and egg, until you get more vb.net users, you'll likely not get many vb.net patches, etc, etc, etc.

Steve Py wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 9:56 PM

Well, as you put it, there's a simple answer the next time someone takes a poke at you for lack of CLR support.

"There's nothing stopping you or others from adding to the project or extending it to be more CLR-friendly. Just don't expect me to do it for you."

Chris Missal wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 10:45 PM

After reading the first few lines, I really was looking forward to disagreeing with your comments Jeremy, but I cannot. I completely agree.

DotNetKicks.com wrote A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 10:50 PM

You've been kicked (a good thing) - Trackback from DotNetKicks.com

NotMyself wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 11:02 PM

SM doesn't come with a drag & drop rad editor, 99% of VB.net developers would not even consider using it.

And yes, that was intended as a joke. Put your pitchforks away.

sergiopereira wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 11:05 PM

VB 10 is finally bringing multi-line lambdas and anonymous methods. code.msdn.microsoft.com/vbfuture

Some line continuations ( _ ) will become optional.

Not a minute too soon. Still not wanting to touch VB again.

Matt Gilbert wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 11:13 PM

VB.NET developers aren't the ones using OSS.  In my experience they are often former Access / VB6 / ASP developers who wouldn't dare stray from Microsoft because they're already overwhelmed by Microsoft's offerings.

The language itself just doesn't seem to be geared toward those with a passion for development, and those who want to use every ounce of power a language offers.  It's geared toward the "get it done" crowd. Lack of multi-line lambdas, line continuations, excess verbosity in everything, and on an on.  It's like the language doesn't want you to think outside its tiny little box.  Jeremy/StructureMap isn't turning away VB.NET developers, the language itself is.

Hell, from what I've seen the "tiny little box" is still too big.  I routinely demonstrate "new features" of the language to fellow developers all the time.  The number of developers using a subset of VB.NET that matches Access or VB6 is disturbing.

I agree with your sentiment that VB.NET developers should step up.  But it simply isn't going to happen because there's no demand for VB.NET-friendly OSS.  If you get a patch, great, otherwise, I wouldn't bother wasting time on it.

Jeremy D. Miller wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 11:16 PM

@NotMyself,

I did try to create a UI for editing the StructureMap Xml configuration one time.  It was a complete disaster.  The Registry DSL is faster than the UI would have been anyway.

Rod Paddock wrote re: A Challenge to the VB.Net Community at Large on OSS
on Wed, Jan 7 2009 11:40 PM

Funny you should ask/say this. During your xmas break I did try to use Structure map in VB and ran into some issues (probably knowledge based issues)

I went outa town right as you got back and didnt have time to chat you up yet.

When I get back lets spend some time on this and we'll get some workable samples ready for VB coders.

I think VB.NET developers would definitely benefit from using Structure map for DI.

One thing that would greatly help. Can you create and post a simple C# version of an app that uses structure map. This needs to be a simple app and be fully functional. I.e fully configured and implmented. Think small and simple. 80/20 all the way...

To the community at large.. Jeremy did ask me to help put together a VB.NET sample before left. We just didnt get r dun yet.

James Gregory wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 3:56 AM

Here, here!

It's quite insulting to be labelled as an anti-VBer or language bigot just because you run a project that's C# focussed.

Colin Jack wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 4:21 AM

Rocky does release his framework in VB/C#, be more like Rocky.

Anyway I agree with you but re-reading twitter can't see the exchange as angry, it sounds like you just have different views.

James Gregory - The VB OSS debarkle wrote James Gregory - The VB OSS debarkle
on Thu, Jan 8 2009 4:28 AM

Pingback from  James Gregory - The VB OSS debarkle

Mark Nijhof wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 4:30 AM

Drop 'n Drag && Wizards are not about speed, they are about not having to understand, it is incredible how many devs use it but don't know what is going on in the background. So when a problem arrives they can not fix it. Same reason why I don't use Drop 'n Drag or Wizards when I can.

Jeremy D. Miller wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 8:25 AM

@Colin Jack,

That's not a great example in a way.  CSLA is effectively Rocky's schtick and livelihood.  Besides, even he's said that he will no longer maintain two versions.

David Mohundro wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 8:28 AM

Agree with you completely Jeremy.

If you do a google search on "vb.net multiline lambda", my blog is at the time of this comment the top response. It has frustrated me to no end in my day job.

VB will get multiline lambdas in 2010 (finally), but I'd really rather code in C#.

Darrel Miller wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 9:06 AM

As someone who has spent the last 10 years writing VB6 code and the last 4 doing C#, can we please stop trying to treat both C# and VB.Net as peers.  It is a major waste of effort.  I have said since .net first showed up that VB.Net should be specialized for learning, prototyping and quick throwaway apps.  C# should be optimized for long term production apps.

Nobody listened to me, the VB MVP's whined and Microsoft caved.

Sean Gough wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 9:17 AM

I develop in both C# and VB and I have experienced the "works in C# but not in VB" pain several times.  I've also experienced it the other way too.  As a result, I tend to use what suits the project, client, task etc.  

Since I'm taking advantage of more OSS projects these days I admit that more often than not this means I end up using C#, as most work better (easier, only?) with C#.  It doesn't really frustrate me though, I look at it as a chance to increase my C# skills (I started as a VB'er) and it's [usually] fun.

Do you get a lot of complaints from VB.Net devs?  Obviously I might be misinterpreting here as I'm not privy to all those requests (or complaints) but it sounds like you're taking the anger generated from Roy's [unfounded/unfair] comments and redirecting them at the VB.Net community at large.

In the end I think StructureMap will be better for it, if only because of wider exposure/use, so I applaud the call to arms.

Christiaan Baes wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 9:31 AM

I can distinctly remember posting a comment on this before but I don't see it. Perhaps I did something wrong.

But being a VB.Net developer and user of Rhino mocks and the AAA syntax and Structuremap I don't see a problem. I just use C# for those projects.

I don't see a problem in using the right tool for the job.

Colin Jack wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 10:31 AM

@Jeremy D. Miller

I was specifically baiting you with a joke example :)

Dew Drop - January 8, 2009 | Alvin Ashcraft's Morning Dew wrote Dew Drop - January 8, 2009 | Alvin Ashcraft's Morning Dew
on Thu, Jan 8 2009 10:52 AM

Pingback from  Dew Drop - January 8, 2009 | Alvin Ashcraft's Morning Dew

Troy DeMonbreun wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 2:12 PM

I think it would be interesting if we knew a break-down of developers that primarily use C# vs. those that primarily use VB.Net that even visit your website.

Does CodeBetter have a simple poll plug-in?

twitter.com/troydemonbreun

Bram wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 3:00 PM

Ouch. I saw the bait, so I'll bite.

The use of MS DragDrop/WYSIWYG RAD etc tools can be a conscious decision to use someone elses development and testing time (similar to using opensource or third party tools/frameworks) instead of developing it inhouse. (ie suffering Not-Invented-Here syndrome).

Admittedly, sometimes its just a poor decision too; As my mother used to say, use the right tools for the job.

Would it be a gross generalization to say that C# devs can have a tendency to get under the hood and waste massive amounts of time by over-architecting, while VB devs can waste time by doing the opposite of this?

Khalid Abuhakmeh wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 3:49 PM

I was wondering about that as well. There aren't a lot of VB.NET projects out there. When I think of the .NET community as a large, I always think C#. I've yet to see any big names say that VB.NET is better. Although Scott Hanselman always mentions it.

It's sad to see someone attack you over something you work on, and then he feel that you owe it to him to make his life easier.

I completely agree with your challenge, and it's time VB.NET developers put up or shut up.

Jeff Certain wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 3:53 PM

Choice of language != quality of developer.

In fact, a developer who can intelligently choose a language to use based on the requirements may well have an advantage.

Besides, I'm sure there's just as much bad C# code out there as bad VB.NET, assuming a correction for the length of time each has existed. Perception to the contrary may be influenced by a large number of VB6/VBA developers who happen to use the Visual Studio IDE.

Jeremy D. Miller wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 4:08 PM

@Jeff,

This wasn't about quality of VB devs at all, it's specifically about the contribution, or lack thereof, to OSS projects from VB devs.  Unfortunately, you guys got screwed out of decent Lambda support.  Several OSS projects, all in C#, are using the Nested Closure pattern to great effect -- but that renders it useless for VB.net users.

Chuck wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 4:17 PM

I think this entire conversation is stupid and insulting.

I am a VB.Net dev because I want to be, not because it is the only language I know. I PREFER coding in VB. I can code in C#, C, C++, Java, SmallTalk, PERL, COBOL and even VB Script. But you know what? If I have a choice in the matter, I always choose VB. I like VB. I've liked VB since it first came out. I liked BASIC before that. I also liked Ashton-Tates dBase and Clipper, but that's another matter.

If a new technology comes out that excludes VB just because a bunch of snot-nosed young punks think C# is the holy grail of languages and that VB is for dorks, then I'll find another technology that will get the job done just as well, thank you.

What a bunch of bigots. Sheesh.

Jeremy D. Miller wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 4:27 PM

@Chuck,

This isn't about putting VB.Net devs down.  Read it for exactly what it said.  If you think the OSS code isn't VB friendly, why don't YOU do something about it.

o.s. wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 4:49 PM

@Bram, Chuck you both make excellent points. Unfortunately there is a lot of bigotry in development circles towards any developer that uses Visual Basic of any kind. I prefer Visual Basic mainly because of

<a href="www.codinghorror.com/.../000458.html" >the  evils of case sensitivity </a> .

I really want to point out that Jeremy isn't pushing this ideology but a bunch of other dev circles certainly are. Everyone making blind assumptions about ALL VB.NET coders should remember  that you can write Fortran in any language.

o.s. wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 5:38 PM

Dag gummit the url got garbled my bad:

www.codinghorror.com/.../000458.html

wookie wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 5:45 PM

I agree with your points about the VB.NET community being less active in the OSS space (the only large VB.NET OSS project I can recall from the top of my mind is DotNetNuke), but at the same time I've followed the exchange between you and Roy Osherove at Twitter and I think you are being a bit unfair with him here...it didn't seem to me that he was trying to put the VB.NET community against you. But then again, he also blogs so I guess he will give you a proper answer there.

Regarding VB.NET vs C#, I can't imagine how someone interested on stuff like the tools advocated by the ALT.NET can stick to VB.NET, since there's this huge predominance (nearly exclusivity) of C# samples, books etc. The only samples in VB.NET I see are the ones Stephen Walther do for ASP.NET MVC and even for those he is always justifying his choice to his guests, and always keeping it pretty simple; whenever he got to do something more advanced he switches to C#.

The whole promise of "use whatever language you want" that MS spread in 2000 is failing because the CLR is obviously developed with C# in mind, and then the other languages find ways to implement those features.

By the way, the fact the googling "VB.NET TDD" brings this very post to the top hit says a lot.... O_O

Angus McDonald wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 6:26 PM

As one of the devs using VB.NET and tweeting about this I'd like to first of all thank Jeremy for his OSS and community contributions, especially the opinionated MVC talks/code he's shared.

As people have mentioned the problem that VB devs have is that MS only released multi-line lambdas to C# instead of to both it and VB.NET. They are too useful to ignore, and especially help TDD remain manageable.

Unfortunately this has meant that many of the ALT.NET tools have largely been too hard for devs working with VB.NET codebases to use. This hasn't stopped us getting the principles involved and I work at a MS Gold Partner that uses SVN, CC and mbUnit/Gallio as a result.

Again, let me point out that this is not Jeremy's fault. I believe that Roy's original point was that if an OSS tool could be almost as useful without requiring the use of multi-line lambdas, then it would make it a much more attractive tool for devs working with VB.NET codebases.

I have NO choice as to the language that our main app is written in, the decision was made 8 years ago to convert ASP to ASP.NET using VB.NET instead of C#. Trying to do a major re-write just to allow devs to use some pretty new tools is NOT going to happen. However this pain point is here because well intentioned OSS devs chose to use something only available in one .NET language. I'm cool with that, but please, allow the rest of us to have our whinge ... we do code with C# when it suits, but we cannot convert legacy apps over "just because", and funnily enough we get paid to work with the legacy code.

Angus/Falkayn

===

P.S. Microsoft if you're listening:

1. Get VB patched prior to VBX to include multi-line lambdas (or at least hurry up VBX).

2. Make Chad an MVP.

kthxbai

Angus McDonald wrote re: A Challenge to the VB.Net Community at Large on OSS
on Thu, Jan 8 2009 6:31 PM

BTW, I just noticed on the VB Team blog a post that points out that in VB10/C#4.0 they are bringing the functionality back in line with each other:

blogs.msdn.com/.../what-s-the-list-of-new-language-features-in-visual-basic-10-0-and-c-4-0-lisa-feigenbaum.aspx

It doesn't mention XML literals in C3, which is a shame as writing strongly-typed, intellisense XHTML in your code is a heck of a lot nicer than HTML strings (for the odd time when you really need to do that).

Robz wrote re: A Challenge to the VB.Net Community at Large on OSS
on Fri, Jan 9 2009 9:48 AM

Actually I am both VB.NET and C#.  At work we are constrained to use VB.NET and at home I had used it up until about a year ago.  

At work we are constrained to VB because most dev support around us is still based in VB language constructs (even though VB6 and VB.NET are completely different).

At home I go for C# because I like how tightly I can express what I want to do.  Usually C# has more features to it compared to VB as well. When they both do pretty much the same thing, you usually go for what gives you more features.

I would say that most VB devs that want to grow naturally migrate towards C# where they can.  I have seen it with myself and others.  C# seems to get more love from Microsoft and the surrounding community although VB.NET still has more users (perhaps hobbyists in general?).

Add a Comment

(required)  
(optional)
(required)  
Remember Me?