[comp.lang.misc] Clarion Professional Developer

wiz@wiznet.UUCP (Kean Johnston) (08/19/90)

To start off with, I'm not sure which platform this conference addresses, but
since it isn't a comp.UNIX.databases, I am assuming that I won't step on any
Unix nuts toes by talking about a DOS product.

The product I wish to draw your attention to is the Clarion Professional
Developer, by the Clarion Software Corporation, 150 East Sample Road, Pompano
Beach, Florida 33064, Tel 305-785-4555, Fax 305-946-1650.

Let me preface this review with the statement that never, in all the years that
I have had any experience with database tools, have I been as impressed with a
product. I am quite frankly of the opinion that Clarion is the perfect product.
I was so impressed with my pirate copy (yes, I actually admit it :-)) that I
rushed out and purchased a copy. Not that I actually NEEDED to, the on-line
help is so good and comprehensive, that it covers all but the nastiest of
topics.

However, let me back up a bit and explain what Clarion is: Clarion is a data-
base design and and prototyping tool, to put it simply. Clarion allows you to
quickly and easily prototype relational database systems. From a single screen
you can create a plethora of database files for your system, and then go and
fill in all the fields for these files. This design display tells you at a
glance what files you have defined, and when you are editing the fields of a
file, it displays in a neat and logical fashion the fields and file indeces.

As a prototyping tool, Clarion is not a fore-runner. However, it is so quick
and simple to change your mind that using Clarion as a prototyping tools can
make your life a little simpler.

Once you have your basic file structure and field format done, you are
ready to define a full-scale application. You can create menus, tables(more
on tables later), data entry forms, reports, and you can even make provision
in your application layout for external programs and Clarion modules. The
format in which the application is presented is quite intuitive: You get an
overall picture of the application by means of a tree disgram of the
application, with any procedures which you have not completed marked as
"ToDo" items. Thus, with very few keystrokes, you can see exactly where
you are in an application, and how much you have still to do.

While designing menus,tables,forms and reports, you use a very flexible
screen painter, which allows you to totally control the appearance of your
screens and reports. Changing your mind is trivial: you can move fields or
blocks of text, copy from one place on screen to another, paint areas of
the screen, draw lines, and you can even import screens or reports from
other applications.

Once you have completed the layout of your application, and you have defined
all your tables,reports,forms and menus, you then let Clarion go and write
the necessary source code for your application. This is not very quick, but
the source code generator id clever enough to change only those modules
which NEED changing, unless any globals have changed, in which case the
entire application is re-written. Even at this level you have total control
over Clarion. The Designer (the program which lets you design screens and
applications) uses a "model" file, and this model file controls how Clarion
writes its source code. If you don't like the style of the code it generates,
then you simply change the model file, and from that point on, all the code
looks as you specified.

The result of about 2 hours work with Clarion, with no documentation, was a
name and address databases, with related databases in which I could store
things like, books lent to the person, (the book titles were maintained in a
separate database, and appear as a pop-up list), the last time the person was
contacted, and a memo field for each person in the database. The user inter-
face is something to be marvelled at for so little work. It looks really neat
and professional, and every field in every database had a help field attached
to it, so the user could get help at any stage (although hitting F1 would
just pop up a "No-help" available message, as I hadn't designed the help
screens yet).

Clarion can generate stand-alone executables which you can distribute
royalty-free to your customers, or you can have your application use the
RTLink run-time library, the choice is yours. The executable size is not
small, but then the programs do a lot!

As regards speed, well, Clarion REALLY impressed me here. Until I found
Clarion, all our heavy-duty DBMS's were written in C, using Faircom's c-tree
file handler, which is probably one of the fastest database engines availible
today. Our low-grade stuff was done in Paradox. Because I have been spoiled
by c-tree's speed, I was expecting another Paradox type snail, which would
take 13 seconds to scan a 100 000 record database. But boy, was I in for a
BIG surprise, when Clarion actually performed AS FAST AS c-tree! I was so
impressed that I immediately smelt a rat, and looked int he Clarion library
and lo and behold, there were c-tree's low-level index function names. This
is not to say that Clarion DOES use c-tree, the tech-support people denied
it emphatically when I asked them, but it does make you raise your eyebrows.

So, just how fast is Clarion? To give you an indication, when we tested
Clarion against Paradox 3.01, which is reputed to be one of the fastest PC
databases around, Paradox didn't even come CLOSE to Clarion. The way we
did the test was to create, in the respective languages, a program which would
generate a database of 100 000 records, each of which consisted of 1 six
character, randomly generated surname, and a 4 character first name field.
The databases were indexed on the surname. To test the speed of the database
indexing, we searched for the first surname beginning with an A, then the first
Z, then the first N. This gives the two extremes of the index, and the middle.
Paradox took over 13 seconds to get to the Z, and about 7 seconds to get to
the first N. (I don't know how to time these things exactly). Clarion was ...
wait for it ... KEYPRESS TIME! As I hit the Z, there first surname to begin
with a Z appeared. And, just so I could boast about the speed of Clarion,
I then created a 250 000 record database and the speed was NO DIFFERENT!
This thing REEKS of power.

So many things about Clarion stick out above the rest of the competition.
Their use of database "tables" for example. These tables are basically
"browse windows" into your database. A table usually contains an abbreviated
entry from the database to which it is attached, which allows the user to
scroll through the database until he finds the record he wished to delete
or edit. In a table you can set up a "locator", which will search the defined
index for any matching entry that the user types. The way THIS is done is also
pretty niffty. As an example, in the surname and first name database, I set up
a table with those two fields in it, and a locator for the surname. Then,
to find the surname "JOHNS" as an example, I press the 'J' key. The first
entry which begins with a J is brought to the top of the table. Then I hit
the 'O', and the first surname to begin with JO appears, and so you go on,
until you are within range of the surname you desire, at which stage you
can scroll down the table until the desired entry is highlighted. Users just
love this sort of thing, as it makes searching so easy and quick.

Now that I have had the documentation for a while and I have had a chance
to play with the language itself, I am quite convinced that Clarion has all
it will ever need to kick Paradox and dBASE right out the water. That is, of
course, if Clarion start marketing their product properly. The language is
different to anything else you have seen, but once you are used to it, it
makes a lot of sense. The Clarion Editor is a marvel as well. From within
the editor you can call up a screen or report painter, design the screen in
your editor, and all the source gets written directly into your editor buffer.
From there you can fine-tune it if you wish, or you can get on with writing
support code of the screen or report. This is only necessary, of course, if
you are doing something very nasty which you can't do from within the Designer.

All in all, Clarion is the most professional looking program I have seen in
this market. Clarion Software have thought of just about everything that a
programmer would need to make his life easier. The result of very little
work is a professional, elegant, smooth-flowing program which your customers
will all love. The context-sensitive, hyper-linked help which you can generate
makes the application all the more professional too. The overall "feel" of a
Clarion program is that the designers must have worked for years to create
such an application. And the speed at which this is achieved is phenomenal.

So, do yourself a favour. If you need a database development environment, or
even if you just need a  database system for the office, buy a copy of Clarion.
You can run it on your network, and you will love every minute of the develop-
ment cycle.

And before anyone asks it, or accuses me of it, NO, I am NOT a Clarion
employee :-) Just a VERY satisfied customer. And for $549 from the Programmers
Shop, its a real bargain.

-- 
   Kean Johnston: wiz@wiznet.UUCP      Bang: ..!ddsw1!olsa99!tabbs!wiznet!wiz
               "I think, therefore I am" - Rene Descartes