Dear Participants and Interested Parties:

PowerBASIC produces the finest set of compilers on the market. PB/DOS, PBCC, and PBWIN, comprise a set of tools that are efficient, fast, and accurate. The technical support provided by PowerBASIC, Inc., is second to none in the industry; in fact, by almost any measure PowerBASIC is unequaled.

Recently we have discussed an open source project that has the potential to make PowerBASIC even more useful. We have called it the “VB6 to PB Converter Project”. The idea prompted a great deal of discussion pro and con. Some said it was too complex, too large, or too unfocused to produce anything of use. Alternative approaches were suggested. Alternative tools were suggested. It was even suggested that conversions from the defunct VB6 to the well supported and evolving PB were better done manually to preserve the art and flexibility of programming. On the other hand, there were many voices welcoming the idea.

Since I first floated this project I have become convinced that it has strong support and a strong potential market. For the novice such a tool speeds up the learning curve illustrating the basics of programming in PB. For the VB6 refugee, it would ease the transition from their old VB6 methods into new PowerBASIC methods. For the advanced programmer there is potential to greatly reduce development time with the predictable and tedious parts of conversion.

Obviously, the original nebulous idea is too big and too complex for practical consideration. But ideas and suggestions that solidify the necessary goals and possibilities have been proposed. Without fanfare we have already begun the first phase of project development. We have begun to identify the possibilities and the obstacles.

I would like to begin this project in earnest. This is my proposal for how we should proceed. Consider it a working document. I intend to update and post the most recent version as it evolves and is approved by the team. We should all feel free to make suggestions on changes to this document. As we approve updates we will all have a hand in guiding the project and, most importantly, producing a valuable tool for PowerBASIC programmers of all skill levels.

OBJECTIVE
Our primary objective is to produce an Open Source tool for PB programmers automating the process of moving VB6 code to PB code. There are many similarities to make conversion feasible. Simple conversion is not necessarily the best way to port VB6 to PB. It will be necessary to include translation algorithms to accomplish meaningful PB code in some cases.

Desired Capabilities
VB6 procedures to equivalent PB procedures.

a. Convert VB6 code to PB code wherever possible

b. Translate VB6 code to equivalent PB code wherever necessary


VB6 ActiveX translations at some future date

a. It will be necessary to implement a Converter module to handle ActiveX translation

b. Translations of ActiveX will not be the primary goal until basic functionality is reliable


DEVELOPMENT AND TESTING

PowerBASIC has provided this private development forum at their site for the team. Currently these Topics are planned:

Planning and Design – discussions, suggestions, ideas

Team Administration – official goals, modules, tasks and subtasks

One each for the required modules – first set to be determined shortly by the team

Testing – team members report results and recommend additional testing

I am currently evaluating which systems we will use for version control, project ownership, and progress tracking. More on that soon.


SUMMARY

The VB6 to PB Converter Project is an advanced goal. As someone recently noted, “There’s a reason no one’s done it before”. We prefer to believe the reason is that no one has had PowerBASIC as the target language.

Our team will produce an indispensable tool for PowerBASIC programmers of any skill level who must deal with increasingly obsolete VB code.

Stan
5/23/2008