Q: I keep all my financial records in a program I wrote in 1988, using dBASE III file structure (.dbf) and compiled it with Clipper, DOS version. I run it on old hardware under Windows XP. My other computers are 64-bit hardware and I cannot run the .exe program nor open the files on them. Is there any solution to my dilemma? The computer won't last forever, and ACCESS and Quicken won't give me what I have now. I appreciate any suggestions you may have.
— John H., Navarre
A: That must be some tool you created for yourself that it’s still in use over 30 years after it was written, John. I tend to lean toward recommending you find a more modern solution, as clinging to your program (no matter how nostalgic and/or functional it is) is ultimately a losing proposition. Nevertheless, this seems important to you, and I can think of a few ways that you might be able to keep on using it. It will be up to you to determine which one — if any — works, and is right for you.
For better or worse, one of the realities of computer systems is that almost everything constantly evolves. Over time, and more rapid than you probably think, hardware gets faster, more capable and more complex. The operating systems that drive it must evolve to keep up, and their vendors even have planned obsolescence programs to force users off aging platforms. The result is another reality: eventually, software programs developed for a given platform and operating system become obsolete because of the relentless progression of technology.
Now, you probably know that writing this column is only a sideline for me. My real job, which I’ve been doing since 1986, is software engineer. In my job, we often need to run legacy software that was built for older platforms. To make that happen, we often use the same solution you have done so far. That is, we maintain an obsolete computer, running a no-longer-supported operating system, all for the sole purpose of being able to run the program in question when the need arises.
There are better ways. One thing that the march of technology has spawned is the ability to produce a virtual machine, or VM, which is basically a digital copy of a computer environment. Once created, a VM gets executed by an appropriate player application, and the result is a window on a modern computer that contains within it everything the old computer contained. It runs an actual Windows operating system, which means it has a desktop, menus, a registry, and the ability to install and run software.
Although the virtual machine is physically running on a modern system — let’s say one with a 64-bit architecture — through the magic of software emulation the architecture of the system appears to any software running within the VM framework exactly as it did on the machine from which the VM was created. And so it should, because it is really running the old operating system.
The difference is that the hardware upon which it is running is virtual. You said in your question “the computer won’t last forever.” Well a virtual one will. You can move it to a new PC whenever you upgrade. There are multiple VM solutions available, and I’m not a product endorser. A little Google research should get you started if this is the path you choose.
If the whole virtual machine thing just sounds too complex, there are other possible ways to go. Any of these will assume that you still have the original .dbf file or files that you compiled into a runnable application. There are programs designed and implemented for modern operating systems that are still capable of opening dBase files. I can’t guarantee compatibility, of course, and you might need to tweak up the code here and there, but this is a good place to start.
One such option I found is a program named DBF Viewer 2000, which claims to be a “fast, effective solution for viewing and editing all sorts of DBF files.” Back in the day, .dbf was such a common database format that many modern programs still support opening the files. Even Microsoft Excel includes the ability to open .dbf files. I suggest you take some time and see whether a modern software application will open and run your program.
Finally, I know you said that you didn’t think Access or Quicken will “give you what you have now.” I’m curious your basis for that statement, because both of those packages are capable of importing dBase files. Access in particular is a monstrously powerful relational database engine, capable of doing far more than what I suspect your homegrown tool does. Don’t discount these options until you actually try them firsthand.
To view additional content, comment on articles, or submit a question of your own, visit my website at ItsGeekToMe.co (not .com!)