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.