PROGRAMMING POWER
Tom Campbell
PICK THE WINNER
This is a good time to get into database programming. Microsoft and Borland have triggered a price war in the guise of competitive upgrades, making it hard to resist picking one of the Big Three databases: FoxPro 2.5, dBASE IV 1.5, and Paradox 4.0. We'll look at all three so that you may learn which is best for you.
Now you can afford to choose which of the Big Three databases is right for you.
Each of the Big Three has a manual composed of hundreds of pages. Of course, you're expected to read it before firing up the application generators—and with good reason. You have to know a fair amount about database theory before developing programs people will pay for. Expect to spend a month or three before you have the background to blast out turnkey apps in two days. And you really need a working knowledge of the script language, as it's the only way to get out of a bind when the application generator hits a wall. The appgens are good, and they can indeed produce the expected results—but not before you pay your dues.
You must also realize that unlike with Microsoft C 7.0 or Borland C++ 3.1, you can't distribute your applications to people who don't have the database program—unless you pay for an add-on product, usually called a runtime. A runtime acts like a stripped-down version of the database manager without the programmability.
Finally, you'll want to become familiar with programming under the constraints of a network environment. You don't want the lawyer whose office you automated to call you up and ask where her cases went when two people tried to edit them at once. When she threatens to sue, she means it.
Borland's Paradox 4.0 (800-331-0877, $795) has the most up-to-date language and my favorite appgen among the bunch. Application Workshop, a sort of turbo shell over Paradox, lets you put together multifile applications and test them interactively. It let me turn out good work fast, with a minimum of coding knowledge. That PAL is not compatible with the dBASE language cuts both ways: You can get more done in fewer lines of code, but you must settle for a much smaller market of books and code libraries. But the PAL programmer's guide is the best introduction to a language I've seen with any product. My favorite chapter is a complete sample application with massive commenting. None of the other products have anything similar. The Paradox online help would've been great five years ago but is shockingly bad now. The integrated environment is meant to be familiar to users of earlier versions of Paradox, not other Borland languages, so I found the keystrokes somewhat unfamiliar.
Microsoft's FoxPro (800-426-9400, $495) is your best bet if you want a dBASE language but don't require 100-percent dBASE IV compatibility. You're expected to know dBASE when you buy FoxPro—there's little in the way of tutorial material for non-dBASE programmers—but the development environment is what dBASE should have been years ago. I find the appgens easier to use than those in dBASE and much less cohesive than Paradox's. Its Menu Builder and Screen Builder are good for large applications, but they don't hold together as well as Paradox's. However, FoxApp, which lets you build a single-file application without programming, is a toy. FoxPro tried hard for dBASE IV language compatibility, plus compatibility with earlier Fox languages, so its dBASE dialect is somewhat unwieldy but extremely powerful. If I were moving up from dBASE III Plus, I'd go to FoxPro, not dBASE IV. The online help is also the best among the three.
Borland's dBASE IV (800-331-0877, $795) needs no introduction. It's showing its age, however, and I see the ideal dBASE IV user as someone different from the typical reader of this column. The program's prodigious automated program generation tools outdo those of either of the other products; however, they're the toughest to learn. Since I seem to hit the programming wall where code generators fall down on any project I do, I prefer Paradox or FoxPro because it's much easier to learn to use their tools. The dBASE language lacks support for push buttons, list boxes, and other artifacts of the GUI world that FoxPro and Paradox now take to be part of the programming habitat. But dBASE IV is irreplaceable in its support of the SQL commands Commit and Rollback. These seemingly arcane features are absolutely necessary in the corporate world, and of the Big Three, only dBASE supports them. Commit lets you save the state of the database; Rollback lets you restore it. In case of a power failure, virus, or network breakdown, this guarantee of database integrity is priceless.
Whose name goes on the trophy? I have to cop out because each has tremendous strengths. Paradox is the top choice for the user with a clean slate; FoxPro, for the dBASE programmer with no particular need for dBASE IV; and dBASE IV, for those with corporate clients, the patience to learn its appgens, and no burning desire to make their programs GUI.