Di-ogix: better than I thought. (application development software) (Software Review) (Evaluation)
by Tom Campbell
Spreadsheets have a seductive immediacy about them because they show results instantly.
One of the great pleasures of being a columnist is that I get to see software I'd otherwise miss. A perfect example is diogix from On Top Systems (P.O. Box 676, Northbrook, Illinois 60065-0676; (708) 291-0214). It's billed as application development software with a spreadsheet, support for multiple printers, Btree database manager with support for dBASE and ASCII files, portability to UNIX systems, and an advanced report writer. It's a character-based environment without mouse support, and it looks and feels like a spreadsheet all the way through. With its $99.95 price for a single-user DOS version up through $249.95 per UNIX user, I figured that each person who used di-ogix applications (as opposed to the developer, who wrote them) had to buy a copy. If programmers had to sell all the applications they developed using di-ogix with what was effectively a $100.00 runtime charge per copy, it seemed overpriced despite the low single-user cost. I didn't notice this clear statement on the brochure: "Applications may be distributed with di-ogix runtime royalty-free."
This is an interesting product because in 1993, it will probably appear to pundits as a good five years behind the times. Without Windows support or its own GUI or graphical print preview or requirement of 75 megabytes of disk space (would you settle for 2 megs plus change?), di-ogix would seem to be a product out of a distant era. Yet its usefulness was immediately clear to me. The phenomenal appeal of spreadsheets has produced a vast army of people who are programmers but who don't think of themselves that way. Spreadsheets aren't terribly difficult to learn. Typically, they're in a matrix layout, with columns given the names of successive letters across the top (the first column is A, the second is B, and so on). Rows are given numbers starting with 1. Spreadsheets think most naturally in numbers, so to enter a number, you just move the highlight (a cursor that normally fills one cell at a time) and start typing. To apply a subroutine called an @function (pronounced "at function") to those cells, you use the name of the formula, which normally starts with an @ sign. For example, to add up all the numbers in the first three cells of the first column (A1, A2, and A3), you'd type in, say, cell A4 the @function @SUM(A1..A3). You can combine normal math operators such as + and - and @functions into formulas. You can enter text in cells and use formulas that act on text. There are built-in @functions for just about everything, and the spreadsheet also lets you display numbers using different formatting. Dates, for example, are normally stored as numbers but are formatted for display via a date formula as dates.
Last but not least, spreadsheets have a seductive immediacy about them. Because they show the results of formulas instantly, they allow you a lot more experimental latitude than pencil and paper, promoting insane bouts of fiddling with mortgage payments, project schedules, and even small database applications.
While the @function approach isn't elegant, millions of people know it by now. Once you've learned spreadsheet basics, there's little else to trip you up. This product capitalizes on spreadsheet strengths and goes the spreadsheet one further by giving the user all the tools necessary to create stand-alone applications for anything from a protected-mode 386 to an 8088 dinosaur. There are @functions for advanced data entry (long a spreadsheet bugaboo), menus, relational database work far beyond what spreadsheet users are accustomed to, file and disk access--everything a developer needs. (Almost. The debugger costs extra, but you can get by without it if you're underbudgeted.) Even if you don't know spreadsheets or if you've found BASIC or C too hard, you'll find diogix capable of producing significant works with only a few weeks of study. If you know spreadsheets, that time estimate will drop to a few days. This program has the best tutorials I've ever seen on a commercially released product; they make up an entire training manual and provide step-by-step examples of all its major features. If you find learning software difficult because manuals take too much for granted, the di-ogix training manual will be a revelation. The reference isn't quite as close to the mark. It's underindexed and lacking in some information (such as details on file formats, which the tech people happily provided), and it's sprinkled with gaseous "inspirational" epigrams that did nothing to improve my reading experience. Ironically, the sample applications are OK but not nearly up to the product's potential.
This product is up to just about any small business, charitable organization, or club task, and you can give away or sell your programs with a free runtime version that's included in the price. If you've found traditional programming languages too complex or slow, take a long, hard look at di-ogix before you give up.