7

Some history:For the last six months I have been employed at a small firm with just three programmers, my employer among them. The firm maintains two programs written in VB6. I am asssigned as the lead programmer to one of these. In the last six months I did some maintenance and bug hunting, but created some new functionality too. I had an interview last december, which was favorable, and my contract was prolonged. I am very happy with this course of events as I only obtained a .Net certification a year ago and have no other qualifications (in the field of coding, that is).

It is my strong opinion that, while migration of the existing program to .Net is advisable, it is paramount that from now on the new functionality should be written in VB.Net class libraries. After some study I found out how simple it is to integrate .Net class libraries into the VB6 development environment and how easy it is to add their functionality to existing installations by using application manifests.

So, I have decided that now is the moment to roll up my sleeves and try and convince my employer that he should let me develop new code in VB.Net, using VB6 for maintenance only. We get along quite well, but I think I am going to need all the ammunition I can get to convince him. Any arguments, preferably backed up up ones, are very welcome, even arguments to dissuade me ;-)

Nicole
  • 28,243
Dabblernl
  • 483

9 Answers9

21

VB6 apps will not work when Win8 (or whatever it gets called) comes out. The company I just left got burned when Vista came out and the 16-bit apps stopped working because the VBXs could not be made to run on Vista. Microsoft decided to take out the native libraries that handle accessing Access databases. They can easily do that with the VB6 runtime library.

As a form of risk management, your boss should be considering updating the technology. Slowly moving piece-by-piece to .NET would make things much less stressful if MS decides to kill off the VB6 runtime. When new operating systems are in beta (usually called CTP), I strongly recommend getting a copy to install on a virtual to test your existing software. Vista was a shock to us, and that company didn't have a replacement for the 16-bit code for about a year after Vista came out - and we only knew it was a problem when customers starting calling to say it didn't work.

edit: while watching a number of webcasts on Microsoft Events, and in particular this one, I've come across the statement by more than one presenter that the VB6 runtimes will not be distributed in future operating systems.

Tangurena
  • 13,324
15

Why don't you code something up in VB.NET and show your employer what you mean in terms of actual code, rather than verbal explanations? Could be way more effective.

Jas
  • 6,313
14

You have to prove him his ROI will be affected positively by the migration

If he is like most managers:

  • he probably invested lot of money in those software and he may think a migration will affect negatively the ROI
  • he won't care that the migration will affect positively your work. He will focus on him, him and again him (especially if you are talking about changing his code for your comfort)
  • he will try to determine he could be blamed by accepting your solution
  • he will not trust you, he will trust external people
  • he will not be comfortable if he doesn't understand everything you will say
  • he will fear loosing the control on his thing

So here are the advices:

  • Focus on ROI. Calculate with high accuracy the gain in time/money
  • Don't talk about you, but him only
  • Prove him he won't be blamed in case of failure
  • Come back with real facts. Articles written by trusted professionals. Answers on P.SE will not be enough
  • Explain the benefits with simple words. Avoid any technical jargon related to the new technology

Good luck.

3

Another good argument for .Net is the Support. There is a lot of support out there for .Net, but not as much VB6. Even Microsoft doesn't support VB6 anymore.

A good example argument is Windows vs Linux. Linux is cheaper, however Microsoft has a huge support network which is why many companies will choose Windows over Linux.

Rachel
  • 24,037
3

Try slipping the VB6 installation cd in a Windows 7 64-bit system, and show the presented dialogue to the boss.

It basically says that this software is known not to work well with Windows, and it not recommended to be used. If that is not a strong indication that VB6 should not be used for new development, I do not know what would be.

2

While I totally agree that using .NET is a good thing, you did ask for both positive and negative reasons. You should be aware of the negative, if only because your boss may confront you with some of them and you need to be prepared.

The biggest negative I can think of is what if you are the only one there who learns .NET and then something happens to you. Right now everyone knows VB 6 and can maintain each others programs. (Perhaps you need to suggest that you could do a small "test" project in VB.Net and help everyone understand it and become comfortable with VB.Net. Hopefully that way everyone will see the benefits and back you).

JonnyBoats
  • 1,793
2

Well, I won the argument. I think I convinced the programmer more than the moneymaker in him by showing both a piece of .Net code that was called from VB6, how easy it was to code against this .dll in VB6 and finally by sending him the link to this article. That convinced him that we should gradually migrate towards .Net by using .Net .dll's

Dabblernl
  • 483
1

VB6's native language is COM. .NET Libraries can be exposed as COM objects. You've already made the decision to move to .NET Writing new functionality in .NET will allow you get a toehold when you make the effort to move the rest of the app over.

Michael Brown
  • 21,822
-1

You summed it up your self "I think I am going to need all the ammunition" as you prepare to convince your employer. Ever wondered why good answers which are short don't get as many up votes on this forum. :-) People like detail so make sure you prepare well before you start the battle. IMO it should be easy to convince if your employer understands the technicalities of things.

Geek
  • 3,961