I have three reasons to stick with vb6...its easy and I like the language, my apps are written in it and the companies that use them don't want mission critical apps messed with unless they stop, and I don't like .NET
I only use VB6 for personal use such as recently I wanted the text entries on a CD put into a text file in alocation of my choosing (hard drive or flash drive). Another time I needed to create 50 folders and rather than doing it manually and renaming each folder, I created a utility that could give me options for Days of the week, months, Years (2000 to 2050) or a prefix of my choosing with a preset suffix. This utility also had options to delete folders, and rename folders.
Another utility I have also done allows me to remove the characters of filenames up to the last character and rename them either with the folder name or continuous executive numbers 000 to the quantity of files in the folder.
There are many tasks that can be simplified by use of self-written utilities but only if those tasks are repetitive and bothersome to do manually.
VB.Net is more integrated with internet use rather than stand-alone applications (isn't it?)
I use VB6, simply because i really like how simple it is to code. I have vb2005 which i have attempted to try to learn, but found that the language was a bit too steep for me to grasp, as well as the fact that few of my programs convert with out major issues developing with in the converted code... since i have programed up words of 60 or so programs and maintain them all it really isn't worth it to me to ditch a programming language that I am comfortable in how to get it to do what i want, and need to to do to get the job done...
I have dabbled in c+, and java but have found those to be a little more involved than i really want to get into.
I have had many discussions with programmers who are devout to their .net and i find that i am just fine with vb6.0, and not only that but as far as i care all my programs work in vista and windows 7, so at this time i dont have to upgrade.
This allows you to use Visual Studio 20XX to develop for Office applications (instead of the rinky dink VBA editor). VSTO is based on the .NET framework, so it allows you to leverage all of the .NET language features.
We develop test equipment for manufacturers where a computer often is used only for running one machine. Some of these are stand-alone systems, some are connected to a company network without internet or other connections to the outside world. The people who maintain the code are engineers who couldn't care less about new languages, they just want the test system to work. They prefer if we continue to build test systems using VB6.
The reason that I still use VB6 in the era of .net is that being a single developer within a company, I was so busy coding, there was no time left to learn VB.net or migrate the existing applications.
I have been Using VB since VB3 was the current version. Can't remember what year that was, its too far back.
I worked and developed software with VB3-6 for 4 companies over the last 15 years. I am now retired and although most of my programming is for fun, I still maintain and update the software for 2 of those companies. Migrating these existing applications to VB Net would not be a project that I would like to take on.
I have thought about moving on to VB Net on numerous occasions, mainly when Googling for methods to achieve something new to me with VB6, and finding more VB Net solutions than VB6. I do however find answers to all my questions eventually.
The fact that future operating systems may not support the VB6 Runtime is obviously a cause for concern. Companies that have been using their tried and tested stable software for a number of years, having no understanding of development languages or operating systems, will find themselves having to replace the software and import or re-enter all the data.
I am now getting close to 65 years old, so the commercial aspect of changing to VB Net is a non entity. However I shall probably get myself set up with VB Net and have a play with a few test projects even if only as a new challenge and to keep my brain alive .
Who knows, if all goes well I may then consider migrating some of the existing VB6 apps to protect my existing client's future. (And mine )
Last time I checked Basic meant, well, "basic". The thing that passes for that in .NET is surely not that! So Yes: OVERHEAD! Invariably, useless overhead!
Besides, they should have had the courtesy to include a convertor program. A serious one I mean. I have commercial S/W of 150,000 lines that I must convert by hand only to have it in .NET! Come on! For What?