I have been developing in VB since the early days of version 3. Years of experience have enabled me to work around many limitations inherent to the language, though not all. My problems with VB were:

1) No support for multithreading. I know, I know, there were/are some 3rd party solutions that work marginally at best, and there were always ActiveX EXE's - but come on, let's stay civilized here.

2) The necessity to redistribute the proper runtimes with your install package.

Now, as I said, I have been able to get around many of these issues, and have created some very functional applications with VB. But those problems continue to nag. So, I decide to look into the whole .NET strategy and see what benefits there are to me. Behold! One of my problems are solved, one of my problems are quadrupled and a whole new problem introduced (sort of). Continue with the new issues:

1) The necessity to redistribute/have the user download the proper runtimes with your install package. Same as before, yet now the runtimes are 23MB!!!!! (Microsoft .NET Framework Version 1.1 Redistributable Package) Holy Cow!!!!! The VB6 runtimes only added 1MB to my install package! There goes any expectation of my clients downloading my install via a dialup! Why should my client have to reconfigure their entire setup just to run my little freeware/shareware app?

2) VB.NET programs (or any program created for .NET) are EXTREMELY easy to decompile. Again, I know, so were VB6 programs, but at least you could purchase a good program like Armadillo that would make it nearly impossible to do so, for a reasonable price of around $90. Searching for a .NET obfuscator leads to many solutions, most of them starting around $1400!!!! What?!?!

Now these aren't just small issues, these are rather LARGE ones. Issues that tell me that creating applications in .NET that target a large audience isn't in the cards.

Further, and finally, I have another issue with the whole idea of .NET. One framework that is supposed to power not only all of these different languages, but web pages as well via ASP.NET? Coming from a company (Microsoft) that releases a new service pack/ security fix on a weekly basis, is this really such a good idea?

If you are going to have everything (all these developers applications, all these websites) depend on that one thing (the framework), then that one thing better be rock solid. Microsoft isn't particularly known for their ultra-secure, rock solid code. I know that Microsoft pledges to not break compatability between the different frameworks unless it is absolutely necessary, but look: they've already done so! Look at version 1.0 and 1.1! Or try to utilize the 1.1 version of the framework using VS2002! Ooops!

It appears that .NET eliminted a few issues and introduced a whole slew of new problems! Now, I am not particularly a pessimistic persion, but I don't see how .NET is yet ready to be a "big deal" in a real-world sense.

Opinions, thoughts?

Brad