Home  TOC
Fragments of The History - Part III

Alan Dechert

As for your question about the usability of dBASE II now, I would say "no." It is not a viable solution anymore. Without going into all the reasons for saying this, I’ll just say that I see a lot of dBASE applications and I haven’t seen any dBASE II apps out there in a production environment since about 1992. I know there are some out there but as a percentage, it must be very very low.

dBASE III is usable for current computers running Win 9x or NT. Recommend Win 98 SE and NT 4 sp5 since earlier versions have a problem running DOS apps on multi-gigabyte partitions. There are some Y2k issues here but nothing that can’t be worked around pretty easily. The biggest problem is that the Assistant doesn’t respect CENTURY ON (can be worked around without much difficulty). As others have pointed out, avoid dBASE IV before the latest release of IV 1.5. IV 1.0 should be avoided on any PC; IV 1.1 and all but the latest 1.5 should be avoided because they have problems running correctly on fast machines.

My first experience with dBASE was with dBASE II in 1983 (on a CompuPro 816B CP/M w/two 8-inch 1.2 meg floppies). The increase in productivity for me --and the small company I was working for at the time—was phenomenal. But now, we have to ask, “Compared with what?” At that time, the comparison was with forms on NCR paper, typewriters, pencils and paper, 3-by-5 cards, 4-by-6 cards, and calculators. Back then, dBASE had virtually no competition in the desktop database market.

Today, there are many many hardware/software alternatives and almost all of them will be very cheap and very superior compared to dBASE II.

The fantastic success of dBASE II--soon followed by dBASE III--brought out the visionaries in droves aiming at a piece of the action. And they eventually got it all, piece-by-piece. To a certain extent, dBASE benefitted from all the competition. A lot of the added features in dBASE III and dBASE IV were ideas incorporated from the innovators offering add-on products, competing products, and so on. But Ashton Tate just couldn’t keep up with it all. Notable competition included Clipper, Fox (Foxbase+ and FoxPro), and a bunch of others.

Ashton Tate answered with dBASE IV 1.0 in 1988. It was a great product conceptually and might have put dBASE back in the technological lead. Unfortunately, it was terribly buggy—many catastrophic bugs resulting in data loss, incorrect answers, crashes, and so on. It was also a memory hog and often couldn’t run at all without re-configuring the PC. If they could have fixed the bugs quickly, it wouldn’t have been so bad. However, they couldn’t do it. The damage was done by the time they released their fixed version of dBASE IV (v 1.1) almost two years later. Developers and users had largely abandoned dBASE in favor of FoxPro and some of the others.

Borland bought dBASE (probably paid waaaay too much). At that time (around 1991), dBASE still had a large market share although it had been declining rapidly (one of the marketing guys once told me that revenue from dBASE had been dropping by about half every year in the 90s).

dBASE had been an end-user desktop database but also it was a developer’s tool for desktop databases. Most of the revenue was not coming from the developer's… it was coming from organizations that bought multiple copies for their end users (it was standard issue for many). Borland decided to abandon the end-user market (well, okay, they gave them Paradox) and focus on making dBASE a developer’s tool. When they were done with it, the dBASE market share was virtually zero for end-user databases. The latest versions of dBASE (Visual dBASE 7.x) are strictly for developers.

The end-user desktop database market is dominated by Microsoft Access. The organization (a large government agency) where I currently work is fairly typical: All PCs (as in 100.00 percent) have Access installed (comes with OfficePro). No PCs (as in 0.00 percent) come with dBASE installed. Only in rare cases (1 – 2 percent) do we add dBASE to a user’s PC (usually runtime only).

As for the major technical differences, here’s my summary. These are only the things that stand out in my mind. There are many differences that I don’t mention here that probably someone else would consider significant.

dBASE III added,

- vastly superior sorting and indexing routines - Date data types and a whole bunch of functions and commands specific to date-math and date handling - SET RELATION command can link two open files based on a common key expression - The Assistant menu, where commands are written for to manipulate your data--you only need to select items from a menu. You can even capture the command list (list history) and put it in a prg file to duplicate the process later - SET PROCEDURE TO opens a procedure file and loads up to 32 procedures into memory--this is much faster and cleaner than calling each procedure from disk with DO myprogram. Procedure names can be much more descriptive and can be long (although only the first 9 chars count) - Parameter passing (DO myprogram WITH myparameter) - Number of memory variables increased from 64 (1526 bytes) to 256 (6000 bytes) - SEEK command - Fields per record increased from 32 (1000 chars total) to 128 (4000 chars total) - Max number of records increased from 65,535 to 1 billion - Number of open data files increased from 2 to 10 - Numeric precision of fields increased from 10 to 16 places - Some screen painting for data input forms and reports

dBASE IV 1.0 added,

- Control center - Application generator - Windows and menus - Many commands and functions to improve multi-user capabilities, including Transaction with ROLLBACK. Also, Automatic record and file locks Automatic refresh of changed data

- User defined functions - Arrays - Multiple index tags (.MDX files) which practically automated maintenance of indexes--a vast improvement - Debugger - 255 fields per record (up from 128) - Procedures per program increased to 963 (from 32) - Printer drivers and a command (???) to bypass the printer driver and send code directly to the printer - System maintained memvars like _plineno which counts the line number you’re on in streaming output (most of these have to do with page layout and printing) - Better memo fields and a bunch of commands and functions to manipulate data in memo files - A lot of math and statistical functions - SQL support - Keyboard macros (you can record keystrokes and assign them to a hot key)

dBASE IV 1.1 added,

Some enhancements but mainly fixed dBASE IV to work like it was supposed to in 1.0. The main enhancement for me was conditional indexes. This meant that reports and screens that previously were VERY SLOW with filters on, could be easily made instantaneous by maintaining conditional indexes.

dBASE IV 1.5 (the first Borland version) added,

- Mouse support - Low level file functions - 40 data files open (up from 10)--huge improvement

dBASE IV 2.0 added, - Vastly improved performance (16 bit) with the capability of using extended RAM - Language drivers. Previously, translated versions of dBASE only supported code page 437. Now, code page 850 (and others) could be selected at install time.

dBASE 5.0 for DOS (the last DOS version) added,

- much faster performance (32 bit) - compiler included (formerly available for dBASE IV 2.0 as a separate product)

Borland also added CUA windows-like forms and objects (a la TurboVision) but it didn’t go over very well. Most people that bought 5.0 bought it for the 2 features mentioned above and stuck with the dBASE IV interface.

Other improvements included 255 workareas and quite a few new capabilities with arrays.

Top   Home  TOC

If you have any information that can help us to compile this history, please, send us a message. Thanks!