Solved

Badly coded VB3 to dot net or beyond

Posted on 2006-10-30
11
160 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

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

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

758 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now