Hello, I would like to ask you to give me some good reasons why a VB5/VB6 programmer would make a wise decision upgrading to VB.NET.
On the contrary, I want to explain to you why I believe that the .NET version of VB does not bring any advantages to a Windows programmer.
I produce Italian shareware programs that I publish on the Internet or in CD-ROMs attached to computer magazines. So far I have been programming my software using VB5 (I also believe that upgrading to VB6 is disadvantageous, but I'll tell you about it later) and what I really like about it is the fact that you don't even need to create a setup application if the final user of your program has got Windows 98 or a later version.
This is thanks to the fact that when you install Windows 98 you also install all the DLLs needed by VB5 programs (MSVBVM50.DLL and OLEAUT32.DLL) since they are included in the operating system. Since these two libraries are the only ones needed by all programs developed in VB5 (provided that you don't use OCXs), it is enough to distribute the .EXE file to make your software run on a computer equipped with Windows 98 or later version.
Unfortunately, this is not true if you consider an application developed in VB6 in that the version of OLEAUT32.DLL needed by VB6 programs is more recent that the one you can find in Windows 98, so you will need to provide the final user with an installation program that can replace the older library with the newer one. That's why I said that upgrading to VB6 may be counter-productive.
Now, if you think of the .NET framework required by even the smallest piece of software developed in VB.NET, you can easily understand why I am convinced that for programmers of Windows applications this would mean shoot themselves in the foot. I have done some personal research and found out that among the users of my software there was nobody who had installed the .NET framework on his or her computer. The majority of them didn't even know what the .NET framework was.
Somebody may object to what I am saying by suggesting that you could distribute the .NET framework together with the .EXE file but this solution cannot be implemented if you make your software available on the Internet: you can't ask your "customers" to download a 20-megabyte virtual machine just to make your program work. The .NET framework is too cumbersome to be dealt with as a "normal" runtime library.
So, the conclusion I have come to is, if you are a shareware programmer and want your software to reach as many users of Windows-based computers as possible, stick to VB5. In the future, when - and if - the .NET framework is installed on the majority of home PCs, you may consider the idea of switching to VB.NET.
Thanks for your attention.
Pasquale Esposito
Perugia - Italy
http://www.toprete.com/software/