Austin Delphi User's Group (ADUG) Product Review: CodeBase
by Terry Meyer. Reprinted with permission.
CodeBase lets programmers add xBase database management to applications written in
Delphi, C, C++, Java or Visual Basic. CodeBase was born in a time when
RDBMS packages were lean and mean. Like the original cast of StarTrek, Clipper, dBase and
FoxPro look somewhat different today. CodeBase has evolved as well, but still trades
primarily on its efficiency. CodeBase promises that it "Makes Your xBase Data
Fly." This review was a chance to see if CodeBase would get my applications off the
ground, and complement the dazzling speed of Delphi.
CodeBase comes on a CD (yes!) with a Getting Started
book and a language-specific Reference Guide. If you later decide to switch languages,
simply buy the other language-specific guide. If you later decide (ok, more likely you're
forced) to switch to a different operating system, simply buy the
other OS-specific CodeBase version. That, and brush up on your C/C++ skills as Delphi and
VB are Windows-only. For those of you who prefer Norwegian characters and sorting, don't
worry; it looks like most languages used anywhere left of the Baltic Sea is covered.
But Wait! There's more ...
Sequiter manages to squeeze what would normally fill a floppy disk onto a CD by including
a box-full of other features including CodeReporter, CodeBase Administrator (do you sense a theme
here?), CodeControls, and the CodeBase Server. My first, and incorrect, guess was that
CodeReporter was a holdover from the time when development tools lacked report writers, so
a third-party tool was needed. What I found was a very competent DBF-centric, banded
report writer that can be included in apps royalty-free (royalties: bad, free: good) and
allows app users to generate and save their own reports. CodeReporter can generate the
report in C source code, and ignoring the tangent of playing with that feature, passed the
"Can I understand this in 10 minutes without consulting a manual" test readily.
CodeBase Administrator is a utility to manage client/server features as well as to analyze,
apply, backup, or restore transaction log files. When logging is enabled, CodeBase creates a LOG file to record all transactions
that change database files. Being able to restore changes to a database since the last
backup can be a lifesaver after a system crash. CodeControls are data-aware controls
similar to those in Delphi. Client-Server is supported under IPX/SPX and TCP/IP protocols. Scaling to from file-server
architecture to client/server requires changing only a DLL reference. Not too complicated.
How It Works
CodeBase uses a central data structure to maintain status settings and error codes -
that's a control block in mainframe-ese. Calls are made to a.DLL to invoke the wealth of
CodeBase functions. The functions include file control, error handling, field access and
indexing - everything involved in getting information to and from the files. Simply
include the appropriate DLL reference and go.
Tests
How fast is CodeBase? It seems every bit as fast and compact as the claimed. I ran some
simple benchmarks against a certain xBase product that
was once known for speed. CodeBase won the comparison by a margin approaching 40%. Do you
know any programmers that would like to increase the speed of the slowest part of their
app that much? Too bad that speed advantage doesn't extend to development time. Its hard
to beat an RDBMS for integrated data-centric development functionality, but not everyone
has the patience to download an app with a multi-megabyte runtime DLL either.
Impressions
Do I like it? Definitely yes. I am very comfortable with DBF's and CodeBase handles them
just like a native xBase app (only faster!). To do a commercial product that I want to
optimize to the max, CodeBase would be the clear winner. I particularly appreciate
that CodeBase is a mature product, with the important bugs either long since worked out or
clearly documented. It is not a product for the point-and-drool crowd. CodeBase is code
intensive. Sequiter calls it a programmers tool - Make that a real programmers tool. If
you want to drive an Indy racer, you have to learn to stick-shift. But remember to fasten
your seat belt!
My only criticism is the documentation. In many respects, the CodeBase documentation is
quite good - it is detailed and includes many examples. But a thorough update is needed.
There are too many references to a User Guide that I suppose was combined into the other
manuals (Ed. Note: it's actually there as an Acrobat .PDF file). And probably for
cross-platform reasons, the electronic documentation is in Adobe Acrobat rather than a
format already supported by Windows. New documentation with an online tour would make
getting started a far more intuitive process. Some VCL wrapper objects would be another
welcome addition (Ed. Note: Now available see CodeBase Components for Delphi).
The fine-print CodeBase carries a 30-day money-back guarantee, royalty-free application
distribution (including the report writer and server), full source code, free online
support and free telephone and fax support.
Terry Meyer is President of the Austin Delphi User's Group.
|