Software Development

Poll: Where does VB.NET stand?

VB.NET is irrelevant to Microsoft's strategy, says Justin James. Do you think Microsoft will maintain VB.NET to keep developers happy?

The Visual Basic series has always had a bad reputation as a starter language. When VB.NET came out with the .NET Framework, it made huge changes that improved its reputation while alienating longtime Visual Basic developers. Since then, VB.NET has moved very close to full parity with C#, as both languages have borrowed heavily from each other. The two languages are functionally equivalent for just about every use out there now; XML literals in VB.NET are the only feature it has that C# doesn't that I can name off hand.

Microsoft and the .NET community clearly favor C#, so I have to wonder what the strategy is with VB.NET. In my mind, it is totally irrelevant to Microsoft's strategy, but the company will maintain it to keep people happy. What do you think?

J.Ja

About

Justin James is the Lead Architect for Conigent.

70 comments
ctisdm1
ctisdm1

I thought MS said we were going to F# ??? or some other new f-in language

info
info

both languages are good for windows and asp.net also. I mean its about how good is a programer. If you don't like , write your own.

ElTel
ElTel

... "so I have to wonder what the strategy is with VB.NET" I'd have to wonder if Justin was struggling for a topic of discussion this week given that neither I, or any of my colleagues, have heard the faintest suggestion that MS is looking to do away with VB.NET. Do you know something the rest of us don't????

celt2785
celt2785

I think it would be healthy to keep VB.NET fully supported. Reasons: 1) Time is money. Many programmers are now programming in VB.NET because, along the way, they started at least programming in the VB6 school. Changing to another language will imply learning some "other language" basics. 2) There are out there programming platforms to which program for other the Microsofty ones, so having options is good, even for Microsoft. Note: I do not want you to take this opinion as a biased one. I have had opportunity to teach (and program) C++ and also general Object Oriented Programming - OOP. Even more, I have enjoyed programming in assembly language. At the end ... I love programming ...

christineeve
christineeve

I've been told since 1997 that VB and Access were beginner tools, toys, and they'd soon go away. I'm still getting hired to work on VB and Access. You can wish and dream all you want, and even try to insult those who have chosen a career in VB, but I'm certain I will be working in it for sometime to come. I always take classes and atttempt to learn something new, but VB isn't dying anytime soon.

XDotNet
XDotNet

I've wondered why not blend the two in the same IDE which would facilitate movement towards C#. Lets say if I know exactly what my bit of code does in VB.NET and I could simply select it, right click "convert to C#" in the IDE and have 100% confidence in the converted C# code, I could begin to easily learn C# by first working with both, then maybe moving to C# exclusively. Works the other way too, I've found a C# snippit I want to use in VB.NET I could convert it to VB.NET or use them together in the same code/class/project/solution. It all gets compiled down to the same machine code anyway. Use what you want where you want (i'm sure its not *that* simple) but why not move towards a blended model? Namespace My Math Private Class MathMethods Private Sub DisplayNumber() Messagebox.show(CStr(ReturnNumber(1,2)) End Sub private int ReturnNumber(int n1, int n2) { return n1 + n2; } End Class End Namespace

ShadowSpawnOFCS
ShadowSpawnOFCS

In response to the actual poll, I have to say I'm a little confused on options one and two. Both are already functionally-equivalent languages that compile to the same MSIL and run on the same CLR, so unless they actually change the syntax, how do they get to be any closer? (Note: XML Literals are a compiler convenience, not a functional difference; the code compiles to using XElement and friends). Microsoft has repeatedly stated that they love them both equally, and IIRC they combined the VB and C# development teams under the same management to help make sure that features for each are kept equal. There are still some trivial differences as they get caught up and in-sync, but the stated goal is equality. Microsoft will continue to support VB.NET because they don't have to maintain two separate languages, just the compiler and Intellisense services. The vast library of classes, the runtime, the development tools, etc., are nearly completely language-independent. Some code generation tools require knowledge of the language, but even that is eroding as they abstract language constructs, much as they've done with Entity Framework and the varied syntax of data stores. IronPython and IronRuby were proof of how (relatively) easy it is to add a new .NET language; they were spun off to community projects, but they had no established code base to support; they were proofs of concept trying to encourage other systems to extend their languages into using Visual Studio -- something that's possible even if they don't use the .NET Framework (a la VS.PHP). There's money to be made with relatively little cost; it's not going away. To the willfully ignorant that choose to still argue against VB.NET using reasons that haven't applied since VB6, QuickBasic, GW-Basic and plain old BASIC, read a book and get over it. As mentioned above, the languages compile to the same MSIL running on the same CLR. Performance is identical. Features are identical. A good developer is good in any language, and a bad developer is bad in any language; see thedailywtf.com and ioccc.org for many examples. It comes down to a choice of syntax, and in many cases, the choice made by the enterprise before you were even hired. There's no measurable benefit to companies or to users to convert VB.NET to C#; you can't even claim cost savings on tools since only the Express editions separate the two They use the same class framework so any half-decent developer should be able to jump easily between the two. VB6 vs. C had some actual technical distinctions, but for VB.NET vs C# it's purely a matter of taste (or bias); nothing more.

herlizness
herlizness

I truly wish VB.NET would just go away ... there's nothing wrong with it but it just causes confusion and wastes time on staffing issues. How many different ways do we need to be able to the same thing the same way in a different dialect?

curdanet
curdanet

MS Business its oriented to get more profit with less effort, the cost of maintain .NET compatibility of both languages will be the crucial factor to decide to keep VP or not. This criteria was the one that MS use when took VFP to a legacy language. They didn't use the programmers population nor the amount of commercial programs developed in this language... Lets see...

jim.lonero
jim.lonero

Justin, I know that your opinion is mostly to start a firestorm. VB will be here to stay and it is an easy entry language for programming. You can make your program as simple or complex as you like. I started with BASIC on an old PDP-11 way back and it was much easier to use the FORTRAN, COBOL, or even Pascal. But, Pascal allowed me to do more with less code. For beginning programmers just investigating the field, BASIC may be easier and VB and its IDE make it easier to run than the old command line interface. Also, it is great to see and hear that more people and technical articles are being written for C#. Yes, some VB people are switching, but, also, I believe that more are coming over from C++ and Java. If we listen to what Microsoft is saying in their marketing and use tunnel vision to interpret what they say, than even C# is doomed and everyone will be using HTML5. I don't think a company as large as Microsoft will abandon its old technology anytime soon. Even when .NET was first being marketed, we all thought that MS would abandon C++. That hasn't happened and MFC is still getting better with each version of Visual Studio. Don't give up hope. Just because MS wants to add new technologies (or non-MS technologies) to its offerings doesn't mean that it will abandon its old technologies. Microsoft is a big company and still wants to expand. Yes, it still wants a larger slice of the pie. That tells me that MS is here to stay and grow and allow us to grow as well.

CRMatthews
CRMatthews

I was/am a very heavy VB6 developer, and was very upset and disappointed when Microsoft dropped the ball by not continuing the "true" VB language. If I had wanted to learn a new language at the time, I would have tried C#. I have already begun my migration from VB6 to REAL Studio REALbasic, which is nearly identical to what VB6 may have become had it been continued. As for people commenting that BASIC is not a "real" language for "real" programmers, have they considered that the true "object" of programming is to have something that works as the customer wishes? The language is irrelevant to the customer.

HighTechAngel
HighTechAngel

I've always said that the beauty of VB .Net syntactically is that it resembles more a natural language than C# does. With a good choice of meaningful function names, variable names, etc., anyone can read a program easily. C#'s syntax is a little cryptic. Nonetheless, I think that with all the shared libraries, VB and C# are rather two faces of the same guy.

Tony Hopkinson
Tony Hopkinson

As .net is really IL, so as far as MS is concerned it's how many syntactic and semantic parser hurdles they care to leap to keep the languages going. Given both are on a par in terms of making use of .net features now, they could look at it as doubling their effort, and want to drop one. I daresay it's their guess at how many would say ho hum and stay with .Net 4.0 VS 2010, because they valued their VB, versus those who would be prepared to do expend the effort to switch to c# to gain some valuable new feature. Much of a muchness from my point of view, can't see why we can't develop in both, most of the functionality we are using is in a .net thingy.

gregads
gregads

Most of my .NET programming is for AutoCAD customization and automation, since historically Autodesk has supported VBA for a lot of the functionality I need, and with recent versions begun the transition to .NET. Sure, their API (ObjectARX) supports C# and VB, but most of the tutorials (which are really helpful in the transition for understanding the API, which is rather large and sometimes poorly documented) are mainly all in VB. I'd like to know how these major application vendors feel about the impending obsolescence of VB in favor of C#.

jhoward
jhoward

Microsoft has gone to some lengths to maintain backwards compatibility with old systems over the years as a general practice. Given the number of apps out there with VB (in any form) I would be surprised if Microsoft actively tried to get rid of it. On the other hand - it would not surprise me if VB tools remained stagnant and future .NET features began to be left out of VB.NET as a means of saying "moving forward VB is probably not a good choice if you want the latest and greatest features".

sysop-dr
sysop-dr

Except as what it was originally designed for and is embedded in it's name. BASIC, is a Beginners language that is supposed to be used to start people off programming. Much like Pascal it was designed originally for teaching. The problem has been that very few people seem to get beyond that beginners stage of programming and instead of learning a real programming language stayed with Basic in one of it's many forms, the latest being the horribly bloated and painfully slow awful implementation called Visual Basic .net. People should take the time to learn something better, anything, pick one and prove you can be a real programmer!

Tony Hopkinson
Tony Hopkinson

so I agree. And vice versa. It's no easier to write good code or harder to write bad codce in either. VB.net suffers because it's associated with VB6, which made it horribly easy to write truly awful code...

Justin James
Justin James

It's easy... if you look at C#, they've been pushing a lot of interesting new features into it (I hesitate to call them "innovative" since I've seen them all in other languages...). But then they wait a generation to put them into VB.NET. VB.NET is very much so looking like the unwanted step child that they only update if they have to, and because enough of the work is actually done at the MSIL language that it isn't too much effort to bring it to VB.NET. I've seen a LOT of other Microsoft technologies in that boat, and few of them survive long term. FoxPro, anyone? J.Ja

Tony Hopkinson
Tony Hopkinson

switching to c# (or Java), (many did) because it was the very familiarity of the way that language looked that mislead them into feeling not much had changed. A lot changed. The syntactical changes for switching to c#, are utterly trivial compared to moving from an OO based language to an OOP one. Now the only dieffence between VB.Net and C# is syntax, they are both the same sort of language, aside from familiarity with using a opening brace instead of begin, no advantage whatsoever. Learning more than one language is a great way of improving, but they have to have different approaches.

nicolas.elineau
nicolas.elineau

Sorry, i've never read something so null that you first point. My first language was BASIC with all the line numbered. Of course, why change the famous "goto line5", a so easy loop (time is money). Never mind if you have to add an instruction before, it would be too expensive so useless. And, on the other hand, why earning time without programs using pointers, pointers of pointers, and of course that can be compiled only for one specific OS. Windows NT 3.5 and my 386 like this very much. Of course, all ours business (bank, insurance, etc) uses this very robust language in production, under windows of course (no choice). ... And you wrote that you was a teacher about this ? I understand better now why we cannot leave ours productions with its back-office, without anybody.

nicolas.elineau
nicolas.elineau

VB is the WORST language that i have used. The same with "accessbasic, wordbasic..and vba now). Only for windoz, and for a "desktop" usage (all VB's programs in production were the biggest troubles for the team. And with Access instead of SQL Server/DB2/Oracle etc, a really big mistake ...) How can you compare ACCES-VB with SQL-SEVER and TransacSQL ?? ...)

Justin James
Justin James

The VB in Access is "VBA", which is a totally different language from VB.NET (it's essentially "VB Classic" or "VB6"). VBA isn't going anywhere, it looks like. J.Ja

herlizness
herlizness

indeed, that might make it easier to hire a VB coder on a C# project and let them "stay comfortable" in their native language and then convert; as things stand now, it seems most shops turn away good coders if they don't have sufficient experience in *their* language .... and that's just plain stupid in my book; in all events it really doesn't take very long to move over to one or the other anyway That's why I like the Redgate SQL Prompt tool ... everyone seems to have a preferred way of formatting their SQL code and Prompt lets everyone do it their own way and the next coder can just change it while s/he works on it ... of course it's still the same code but the idea is really quite similar

jck
jck

about mixing the natural power of C(++/#) with natural/ease of development of VB. I remember in 1998, there was talk of combining VB6 and VC++6 into one development environment. And to be honest, I think it's already been done. It's called MSIL. I have programmed VB for about 15 years now. I still much prefer the language to the C family of languages, but it does lack some of their certain power. Anyways, I don't do high-end computational programming anymore. My biggest headache right now is figuring out how Microsoft justified replacing a DataGrid with DataGridView when the new .NET control is so much more of a hassle to manage. Update this... Refresh that...EndEdit this...AcceptChanges that. Ugh. I thought technical advancement meant easier development.

nicolas.elineau
nicolas.elineau

Of course VB.NET and C# are compiled for the same CLR etc ... Have you ever try to use some Design Pattern with VB ??? Do you really think that you can do the same thing with C# and VB.NET ?? So, why not always use COBOL.NET ? I really hope that this a wfull language, VB* will retrieve its place, the garbage !! And I completely disagree with you when you wrote that "a good developper" is good in any language... Some think in procedural, the others in OO, or in AOP etc So, for you, a COBOLIST can forgets his Meurise (MCD, MLD etc) and directly uses UML .... You must be the best in the world with your rubbish VB :-)

nicolas.elineau
nicolas.elineau

Of course VB.NET and C# are compiled for the same CLR etc ... Have you ever try to use some Design Pattern with VB ??? Do you really think that you can do the same thing with C# and VB.NET ?? So, why not always use COBOL.NET ? I really hope that this a wfull language, VB* will retrieve its place, the garbage !! And I completely disagree with you when you wrote that "a good developper" is good in any language... Some think in procedural, the others in OO, or in AOP etc So, for you, a COBOLIST can forgets his Meurise (MCD, MLD etc) and directly uses UML .... You must be the best in the world with your rubbish VB :-)

Justin James
Justin James

The choice is between merging the two languages' feature sets to have 100% equivalence, or not. Too true about people who rail about "issues" with VB.NET that are really issues with VB Classic, QB, etc., I see it all the time and it just shows that folks don't know what they are talking about. J.Ja

nicolas.elineau
nicolas.elineau

of course VB(.NET) must be dead ! C# (for example) is is really more powerful. Have you try VBnet behind ASP.NET pages ???

nicolas.elineau
nicolas.elineau

I've written a lot of programs in VB, and a lot of "macros". And my first language was BASIC (with line'number and GO TO), and since 4 or 5 years I HATE VB !!! You want learn a language with easy syntax, try PYTHON or RUBY ... You'll have a truly OO interpreted language, and for example you'll able to use the power of Java (jython, jruby). With Aptana (or ERIC ide) you have good IDE, in your favorite OS ! I really think that microsoft made a big mistake with its VB.NET (only for people who can't, or don't want, make an effort for using all NTIC technos provides !). Put your rubbish VB in the garbage, and learn C#. Easier is very very far from power !! Have you try NHIBERNATE, Spring.NET etc with VB ??????

nicolas.elineau
nicolas.elineau

I've written a lot of programs in VB, and a lot of "macros". And my first language was BASIC (with line'number and GO TO), and since 4 or 5 years I HATE VB !!! You want learn a language with easy syntax, try PYTHON or RUBY ... You'll have a truly OO interpreted language, and for example you'll able to use the power of Java (jython, jruby). With Aptana (or ERIC ide) you have good IDE, in your favorite OS ! I really think that microsoft made a big mistake with its VB.NET (only for people who can't, or don't want, make an effort for using all NTIC technos provides !). Put your rubbish VB in the garbage, and learn C#. Easier is very very far from power !! Have you try NHIBERNATE, Spring.NET etc with VB ??????

Tony Hopkinson
Tony Hopkinson

VB6 or VBA. 90% of easy, is some familiarity ( even if it's a tad misleading at times). If you are going for cleaner syntax and semantics C# beats VB.Net hands down, because it didn't have the to convince a pile of developers it was VB6. As for any .net being an easy entry to programming, well no, procedural should be the first language, (given Functional continues it's slow take up), and preferably a strongly typed one like Pascal. People are learning OOP without learning OO, in terms of the why. The idea is teach programming not a language, or at least it should be... I wouldn't recomend any OOP language a starter.

Justin James
Justin James

"VB will be here to stay and it is an easy entry language for programming." How, exactly, is VB.NET any easier than C#? I hear this *all the time* and it's not true from my perspective. VB.NET replaces some curly braces with words like "Then" and "End If", and uses newlines instead of semi colons. Are "developers" really so hard headed that these minor syntactic changes make a language "easy" or "difficult"? If so, I surely hope that they are not developing important software! I started my .NET development in VB.NET, and only switched a few years ago. I still don't see a difference, except when writing lambdas that span multiple lines... "For beginning programmers just investigating the field, BASIC may be easier and VB and its IDE make it easier to run than the old command line interface." How is the VB.NET language or IDE any different from C#'s, considering that all the heavy lifting is done in the shared .NET Framework and the IDE (Visual Studio) is the same? J.Ja

Sterling chip Camden
Sterling chip Camden

Programming is not the same task as speech. It's much more specialized and precise, and needs a language designed for that task, instead of the other one. Just because you already know how to use a hammer doesn't make it the right tool for driving wood screws.

nicolas.elineau
nicolas.elineau

"the beauty of VB .Net syntactically is that it resembles more a natural language than C# does" ==> NO !!!! One is completely "untyped" (for example), so very easy for newbbies, the other need a clearly declaration of its attributes. PYTHON is really 500% more natural than vb, if i think like you ... You want a "natural" language ? So try REBOL (and why not COBOL)? VB must be in its place, garbage ... (have you ever made wordbasic macro for word, and now made VBA ??? Beurk ....)

Sterling chip Camden
Sterling chip Camden

That would be a much gentler jump than the one they forced from VB6 to VB.NET. So the question is, did Microsoft experience enough user ire from that move to prevent them from considering something similar but less drastic in the future?

herlizness
herlizness

I hope you're not saying VB.NET is slow as compared to C# .... there is absolutely no performance delta

wclardy
wclardy

Most of us get paid to make things work, and VB lowers the threshold so that smart end-users can cobble together workable solutions. Sure, a "real" programmer using a "real" programming language could probably build a more efficient, more resilient solution -- if a real programmer was available and if the user could get him to understand what is needed. SQL is the language I spend most of my day in, but VB.NET has allowed me to save the customer a few million dollars without having to get my head around the inscrutable C-ness of being.

wclardy
wclardy

>VB6, which made it horribly easy to write truly awful code... On the other hand, there is no International Obfuscated VB Code Contest. ;-)

nicolas.elineau
nicolas.elineau

I've programmed in VB for 14 years, and now even for a lot of money, neither more this poor language. You have certainly used "wordbasic, excelbasic", and VBA as well ... Awful ! too much time lost with these (now this) 100% proprietary language, completely useless without MS Office. Have you try VB with Unix ? For example C# work fine with MONO, etc etc I HATE VB (a proof : even if i had uses VB for 14 years, it totally disappears from my curriculum vitae.) Try Python or Ruby

XDotNet
XDotNet

Thank you...I was looking for the correct word but couldn't find it...MSIL. That is my point. Both C# and VB.NET get compiled to a common MSIL/CLR and you can decompile both languages back from MSIL/CLR so theoretically it should be do-able. 1. Select VB.NET code, right click "convert to C#" 2. Compile VB.NET to MSIL 3. De-comple MSIL to C#. 4. Post a flaming thread about how much better C# is :-). Several websites already do this code conversion, the next step would be for MS to go native on blended/coverted code in the IDE.

Lasea
Lasea

I completely agree VB.NET is not any easier than C#!

wclardy
wclardy

Nicolas, when was the last time you actually looked at VB.NET source code? Methinks you are confusing VB.NET with VBScript, which would be akin to mistaking Java for JavaScript. Likewise, condeming VB.NET for the sins of Visual Basic for Applications (the grandson of WordBasic) would be like slamming C# for all the problems which have arisen out of sloppy coding habits among C programmers.

Tony Hopkinson
Tony Hopkinson

to make them want to drop it. Nor can I think of anything you couldn't describe in VB that you could in C#. Irf there was some suitable financially driven reason to do it then maybe, but a technical one is escaping me at the moment. A vb.net to c# wizard would be way more work than keeping the paser up to data fior an other version. Nothing at all would reduce take up. Can't make an argument for doing it.

wclardy
wclardy

It does take more keystrokes, and often-times more thougtht, to write something in VB than in C#. On the other hand, I find the old adage about "You can do it fast, or you can do it right" to be more than a tad applicable.

sysop-dr
sysop-dr

I am sure that if you take the time to learn a better language, doesn't have t be C could be any of the other Visual Studio Languages that you would make better applications, in less time which are easier for you to maintain and better for your users. Invest in yourself and it will pay off. You don't have to learn every language just something better than Visual Basic. C# or J# will do you well for sql access but C# probably the easiest for you to learn. There are some very good books out there and conversion from VB to VC# is supported by some very good tools. Not every programmer is a professional programmer. I happen to have a diploma in programming but it's more of a confirmation of the skills I had taught myself before college. Those skills transfer well language to language and yours will as well so why stay bound by the limitations of Visual Basic and all of the restrictions and backwardness that goes with it? If you can program in VB then just imagine what you can do in a language better suited for what you are trying to do. I'm sorry that my original message was so blunt and I hope this message helps but my idea still stands, VB should only be used for teaching and only the basic skills. Once you have mastered those move to something that will be better for your purpose and better for you and your users in the long term.

wclardy
wclardy

>had my head up my arse on a few occasions until I RTFM'd Been there more than once myself. And it's darned hard to find the recto-cranial extractor when your field of view is scoped to where the sun don't shine...

Tony Hopkinson
Tony Hopkinson

No pointers, no eval, no threads, no exceptions, defered instantiation, no OO and variants. Short of giving your variables silly names, and knocking option strict off, never going to win... :p Though that deferred instantiation trick, had my head up my arse on a few occasions until I RTFM'd and realised it was n't going to tell me I'd referenced a null.....

XDotNet
XDotNet

Sheez....Wow...so you hate VB.. I dislike mentally ill people who try to destroy debate and think their opinion is the only one. It's called narcissm, it's a mental illness and you should get some mental help. But i'm not suggesting we do away with people who have your mental illness like you are suggesting getting rid of VB. I imagine you are still useful to the world in some way even if it's making fertilizer. Justin...can you ban this clown? I was trying to present a valid and logical way for VB.NET to grow along side C# and help those who learn and work in VB find a way to more easily transition to C#.

nicolas.elineau
nicolas.elineau

VB in C#, why not ... But good C# with DAO's pattern apply and why not NHIBERNATE O/ER mapping and views in ASP.NET in VB, I WANT TO SEE !!!!!!!!! VB (A...NET) is now completely useless, and even for beginning learning, a really big mistake.

nicolas.elineau
nicolas.elineau

VB in C#, why not ... But good C# with DAO's pattern apply and why not NHIBERNATE O/ER mapping and views in ASP.NET in VB, I WANT TO SEE !!!!!!!!! VB (A...NET) is now completely useless, and even for beginning learning, a really big mistake.

Tony Hopkinson
Tony Hopkinson

I have as much respect for VB.Net as I do C# (well nearly), VB6, well that's another kettle of fish entirely. It's an enviroment that encourages very poor coding practices, designed to appeal to people with no knowledge of good ones. I can and have written decent effective code with it (pretty sure I'm not unique) but VB6 was designed for people who couldn't and that's where most of the lack of respect comes from. However the top five worst implementations I've ever seen, were in Delphi and C# though, not VB6. You do not want to see incompetent code in a language with pointers, full on OO, threads and exceptions, at least bad VB6 code is easy to square up. :(

wclardy
wclardy

I know I can *do* lamdas in VB.NET. I'm just less than convinced that I need to use them -- in either C# or VB. The closest thing that I have to a problem is that C# == C$$, while VB Respect. On the gripping hand, the bank seems to appreciate my preference for SELECT $QL AS Income.

Tony Hopkinson
Tony Hopkinson

But I distinguish language features from my code. Most of your problems seem to be VB != C# For a start you can do lamdas in VB in .net4... Those who came from C or C++ (not me !) do tend to value terseness though, and they can carry that on, it's not mandatory though...

wclardy
wclardy

Why stay bound by the limitations of Visual Basic and all of the restrictions and backwardness that goes with it? Because there aren't many restrictions any more. I'm trying to think of the last time I couldn't translate a C# example into working VB.NET and coming up blank. Admittedly, there are a lot of nice conveniences in C# -- inferring namespaces from directory structure comes to mind, and the stub "notarealpropety { get; set; }" -- but the conveniences have prices (quickly dragging a class to a different folder to reorganize my structure breaks things a lot more than explicit renaming as required by VB, and there still seem to be a lot of C# programmers who don't really get the difference between an object with defined properties and a data structure), Also, pedantic soul that I am, I am philosophically averse to relying heavily on late binding and anything else that means I'm coding to a best guess of how it's going to work in production. Lamdas can be very handy, but credible debugging can become uncomfortably inscrutable. Admittedly, these are self-imposed limitations that generally keep me off the bleeding-edge ooh-baby cool stuff, but I'm proud that my apps tend to be pretty resilient despite their functional-but-ugly UIs and whimsical names. And I will admit to resenting "real programmers" who write code in C# but are unwilling (unable?) to work with well-commented VB code (complete with accompanying .chm documentation detailing the classes and structure). Then again, I mostly earn my paycheck mucking around in another language that the C-centric folks seem to hate (T-SQL), so I'm probably never going to think like real programmers do. ;-)

Editor's Picks