I posted a little while ago about how, with XNA and VB becoming a supported scenario, I was starting down the road to learning VB. Just a brief update on that. If you ever need to learn another language, having practical tasks is a huge benefit. Something I’ve been making use of is Project Euler. Writing the solutions in different ways to intentionally make use of certain syntax features has helped me both internalize them and understand them.
As a by-product, I managed to hack together a VB Windows XNA Game: http://twitpic.com/4ta56c/full . It works, but it’s very much a hack solution (literally editing the VBPROJ file by hand to add in the bits needed to get the content project working) and is missing many important features (like the ability to change between Reach and HiDef profiles, the ability to compile for any platform other than PC, etc.), so I’m not currently planning to post it. But it does indeed work and it was neat to see XNA in a different language. I’ll probably play around with it some more to see what else I can do with it. I might also use it to start converting some helpful code samples and snippets that are out there so that, when the time comes and XNA/VB is released, those’ll be all ready and waiting for you VB developers out there.
Looking through some comments to older posts on blogs I read, I noticed that it seems that XNA/VB will be released with the Mango Beta tools release sometime this month - http://blogs.msdn.com/b/lisa/archive/2011/03/28/xna-is-coming-to-visual-basic.aspx?PageIndex=2#comments (see Lisa Feigenbaum’s comment). Exciting times are at hand as the realm of DirectX-based managed code game programming comes full circle. I’ve already ported two code snippets I use and recommend a lot (Shawn’s frame rate counter and Stephen’s garbage-free integer drawing SpriteBatch extension (along with my own version of it for long ints)). I’ll be porting more code bits as steadily as I can manage and will begin releasing them shortly. More on that in another post, though. Just wanted to share the news about when it would be released.