I have a customer that wants to get away from LabVIEW(don't get me started on why, nothing wrong with it), and are choosing VB6 as the solution. I know it is obsolete and no longer supported by Microsoft. The applications would be general automation with integration to SQL databases, motion controllers, vision, test equipment, etc. Let me know if anyone thinks this is a recipe for disaster, and why.
It is all kinds of equipment, and several custom machines. They want me to become the VB6 expert. There is one person there that knows some VB, but he is not an equipment engineer, and hence would not be doing the programming.
The potential disaster here is that your company could lose a lot of money if you misquote the job. Having no experience in coding with VB6 will make quoting the time required very difficult. In this case, you'll be much better off if you can bill the job as time and materials.
Although you should be able to find plenty of online resources for learning VB6, your customer has chosen platform that ended it's extended support three years ago. You may run into trouble trying to integrate new hardware on this platform.
Your customer should really examine their reasoning behind this decision. If they want VB because they have in-house VB support, then they should use .net VB and at least remain current.
I am not concerned about my $$$ issues. My concern is a company starting from scratch with an obsolete product. This is an edict from upper management, and I am not sure that I can sway the decision.
Whose upper management is making this edict? Is it the customer's upper management? I sure hope it's not yours as not only is the customer making an illogical decision, then your management is as well. I agree with Christian and Patrick about the recipe for disaster.
I was just talking to my IT buddy the other day about VB6 and how it is obsolete. We have a number of engineering programs written with that years ago and it is just a matter of time before they'll break for good. Up until now, all new PC's deployed were XP based and have worked. From this quarter forward, all new PC's will deployed as Windows 7, and the theory is that there are enough changes there that the VB6 apps won't work anymore.
You may want to raise the concern that not only are you writing an app with an obsolete programming language, but that you may not even be able to port the code to a newer OS and that the OS you might be locked into will is either on the verge of obsolescence (XP), or could just be a few years away.
I wish you luck that rational minds will prevail, or if they don't, you don't get wrapped up in the project. It really sounds to me that it could wind up being one of those career killer projects. You know, those projects that no matter how hard you work, it is doomed to failure and your name gets a black mark along with the project through no fault of your own.
It is not my company making this decision. It is my customer. Yes, I agree it is not a logical decision. If not VB6, what should I recommend? LabVIEW makes the most sense since it is used everywhere at this company, and several people have been trained. They want to make a change, though.
Sorry, I was automatically logged in with my other user name on this computer. Brian Beal=Highland Controls
Personally, I'd really try to make the argument again for LabVIEW. But then again, that's where all my experience is and what I'm comfortable with.
If you can't convince them to go with what you know, then I would really push for something at least modern. It just seems like a waste of money to invest in something that's already out of date.
They are the customer, and you want them to be happy. But if you know that what they're asking for is going to make them unhappy....then all you can do is try to convince them to take your advice.
I'm guessing they probably don't like the up-front cost of the development license. This seems to be the big howl from a lot of people. However, they're missing the big picture. I'm not saying that you should push LabVIEW onto them, but the reason why they want to use VB as opposed to, say, C, Java, or .NET has to be examined here. If they're not rational about this, what else are they not rational about? If the customer is not capable of realizing the illogic behind their decision, then you need to ask yourself if you really want them as a customer. What else are they going to ask you to do that makes no sense, either from an engineering standpoint, or a simple financial one?
As for alternatives to LabVIEW, would they consider LabWindows? VB.NET has been mentioned before, but VB.NET ain't VB6, so they may not go for it, even though it has "VB" in the name.
Remember: The customer isn't always right.