Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Badly coded VB3 to dot net or beyond

Posted on 2006-10-30
11
165 Views
Last Modified: 2010-04-30
I've recently acquired the codebase for a full-featured GL & property management product in pretty rough VB3 with Access 1.1 behind it (virtually no error handling!)

I need a functional conversion to a new language and out the door within a year. I have extensive VB6 experience and over ten years interface design, and am happy to deal with that (or drive the conversion team crazy), so the challenge is making it work and cleaning up the mess.  Naturally I have a miniscule budget and a crazy time line. The good news is that I do have a few good beta testers, and lots of old customers.

So, here are my questions:

a) what should the target development environment be - VB.Net, C# or....?
b) anyone have a good outsource reference? (India, Russia, China...) Horror stories are appreciated, too.
c) anyone have a burning desire to do it?

Please submit your arguments, too - I'm more interested in how you think than what you think! ;-) Thanks!
0
Comment
Question by:wjbennett
11 Comments
 
LVL 9

Accepted Solution

by:
dancebert earned 84 total points
ID: 17834639
>so the challenge is making it work and cleaning up the mess

Nope, the challenge is rewriting it from the ground up.  You'll need an architect with OOD and OOP success stories.  You'll need a team that already knows OOP and the chosen platform.  Both of those require money.

Or you could do what a former employer of mine did a few years ago.  They started with a robust & commercially successful VB3 app and tried to rewrite it in Object Oriented VB6.  The seven developers were all first rate but only one had used VB6 or had done any OOP.  We brought in a top notch architect who was a OOD and OOP wiz.  Brought in a top notch instructor to teach a one week class in OOP.  Two and half years later the project was abandoned.  Going from structural programming to Object Oriented is a major mind bend.  Trying to learn a new language and a new programming philosophy while converting a large complicated application meant that the first six months of work was crap that was built upon resulting in bugs that defied description and detection.  By the time most of the developers agreed that they should toss out everything except the design, the GUI and the stored procedures so much money had been spent that there was no way management was going along with that.  I left when I saw it was going to turn into into an unsucessful death march.

Or you could try rentacoder.com
0
 
LVL 5

Assisted Solution

by:lunchbyte
lunchbyte earned 83 total points
ID: 17834683



a) any latest language you want. VB.Net is my choice.
b) no. :(
c) Sure, why not. I love to programming :)

To summarize it, any old programs that has not been updated will have to be updated at some point even if it is working flawlessly. One of the reason is the OS. VB3 is a 16bit application and today is 32 but the next OS will be 64 bit. The program is also using Access 1.1 which is very old and outdated. VB3 and Access 1.1 is not longer supported by MS so that should tell you something.

Someone will have to rewrite the codes to the latest languages because there really is no fool proof function that can simply convert it over to the latest VB.Net. I would also go convert MS Access to SQL Server Express.
0
 
LVL 30

Assisted Solution

by:nmcdermaid
nmcdermaid earned 83 total points
ID: 17839901
Use the existing App to define the user requirements. Then develop an app on a modern platform from those user requirements.

Don't bother trying to do automatic code porting. Even if it works, you're just dragging the old architecture into your new application.



You also may be able to get a database schema out of the MS Access database. Alternatively you might see how the schema shouldn't be done.




0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 

Author Comment

by:wjbennett
ID: 17868006
Thank you for your responses so far. Yes, I completely agree that a complete ground-up re-write is assumed, and that autocoders are not worth the trouble. I also agree that experienced OOP programmers are essential. I guarantee the current Access schema is a counterexample.

I've managed two of these projects with considerable success before (vb3 to vb6 and Vb6 to vb6), just looking for current resources and references.  So we're back to...

1) What's the best language: one vote so far for VB.NET. What are the selling points over C#?
2) Where can I outsource (cheap)? Thanks for the rentacoder response and about MS SQL and,
3) Anyone want to do it?
0
 
LVL 9

Expert Comment

by:dancebert
ID: 17869118
>I've managed two of these projects with considerable success before (vb3 to vb6 and Vb6 to vb6),

Those were version changes.  Going from VB3 (or any version <= 6) to .Net is as big a leap as going from VB3 to C++, for example,: it's a paradigm shift.  
0
 
LVL 5

Expert Comment

by:lunchbyte
ID: 18027320
I think the points should be dividend to all participator because it was a more of a discussion then a question to help wjbennett make a decision.


0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Computer crashes, following error message in event manager 5 236
MS Date Picker 64 bit 32 bit issue 12 60
Excel Automation VBA 19 88
RUNRMTCMD from AS/400 12 68
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question