I have been writing 4D applications for the Mac, but have not used the
recently released PC flavor. I have extensive experience using other PC
databases, Paradox in particular, so my comparisons will be between the two.
My overall comment about 4D is -- use something else if at all possible.
I picked up several Mac programming contracts from San Francisco State
University last November, and had to select a development platform. I looked
at FileMaker Pro, FoxPro, and 4D. I needed a database that could handle
complex relationships, allowed me to code quickly, and that had some quick
forms prototyping tools so I could begin work as soon as possible. FileMaker
lacked the complex relationships (the new version was not out yet) and FoxPro
lacked the forms tools I desired.
As is the nature of these things, you don't really learn how a program works
until you dive in and start using it. I saw Dilbert kill someone by droning
on about an optical server so I will only list my top 5 gripes about 4D.
1) Poor support for raw data access and a proprietary format. It's not easy
to get at the data tables and perform maintenance or make mass changes to the
actual data once it has been entered. All data access has to take place from
user created forms. 4D has its own data format so it is incompatible with
most other database products.
2) No temporary tables of data. If you create a table for reporting or want
to temporarily modify a subset of data, you have to add the table to the
actual data model. Once a table is added to the data model, it can never be
removed. All PC based databases I ve worked with support this working model
with ease. This can be simulated in 4D, but not with out extensive coding.
3) It's slow. Not just the searches and sorts, but the actual programming
interface. I have a Mac with a 603 PowerPC chip and 16MB RAM (nothing fancy
but not slow) and it is dreadfully slow when programming. It takes about 8-10
seconds to load a small block of code (maybe 50 lines) into the editor, and it
takes about 5 seconds to add a new line. When debugging, you end up going
from runtime mode to design mode, then to the code editor hundreds of times so
you can imagine how much waiting is involved.
4) Lack of control. Using PC databases, like Paradox, I was used to full
control over the users environment. It makes programming much easier and
faster when there are direct was to make the application exhibit some
behavior. 4D has 350 built in commands, Paradox for Windows has over 1,000
(and these 1,000 have many sub properties that make the actual difference much
greater).
5) Inefficient and unsophisticated design tools. The heart of a graphic
database is the form. It is the primary vehicle for users to gain access and
get useful information from the database. 4D forms don't provide the depth
and ease I was used to from working with Paradox. In 4D you can attach a
block of code to a button so each time it is pushed, the code executes. In
Paradox you can attach a block of code to any or all of 26 different events.
Not just pushing the button, but single clicking, double clicking, right
clicking, when the mouse enters the area of the screen where the button is,
when it leaves, if a certain key is pressed etc. And that just for a button.
You can affect anything the user sees on the screen as well as things he/she
can't. That s form control.
The advantage to 4D is that it is one of the few Mac relational databases and
it has a PC version as well as a Mac version. If the PC version is anything
like the Mac version, which I hear it is, you will be underimpressed.
Without knowing more about your project specifics, I couln't make a good
recommendation. I can tell you that I wish I had not gone the 4D route. I
wish I had done the applications in FoxPro, then waited for the release of
Visual FoxPro for the Mac later this year, or used the new version of
FileMaker Pro which is pseudo relational.
I hope I've stirred up any and all 4D programmers that read this group to
respond to my post. I'm committed to my 4D projects and I'd love to be shown
the light if there is one.
Robert Guinn
Senior Programmer, Chesley-Merritt
Ask me about Omnium Gatherum, the best *and* most inexpensive Membership
Management and Fundraising program for Windows. It's really cool stuff.
(415) 564-9736
|