[comp.databases] In defense of Clipper 5.0

tomr@dbase.A-T.COM (Tom Rombouts) (05/18/91)

Well, as much as I hate to do it, and knowing it is of no interest
to the Oracle, Informix, Ingres, Sybase and Unify (the top five UNIX
database products, according to a graph in the current Sun Expert)
people who dominate this group, I would like to make some comments on
Clipper 5.0 in an attempt to reduce the overall signal-to-noise ratio.

1. 5.0 was a very ambitious revision.  An implementation of user
defined commands was introduced, new roughly C-like structures were
added to the language, new linking technology was included in the
box, and the (somewhat infamous in the first release) VMM system was
included to name some of the major changes.  I think it is a pretty
good job technically.  IMHO, Clipper has been over-hyped by some
prominent people, however.  One could say that due to our market
driven, promotion-oriented economy, almost all commercial software
that has had a lengthy promotional campaign ends up being disappointing
to many people once it is actually released.  One's expectations,
if incorrect, should not overshadow what was actually accomplished.

2.  Now, more than ever, Clipper is a tool for advanced users.  In its
earlier days, what was Clipper?  Why, "The dBASE compiler," of course.
You often prototyped in dBASE III+, then, perhaps using a slew of
IF CLIPPER constructs, compiled the final version.  Of course, those
days have long passed.  As the recent postings shold demonstrate, 
knowledge of linking and DOS internals such as memory allocation
or file handling are more important than ever to debug Clipper problems,
no matter whose fault (the user's code or Clipper itself) the problem
really is.  Although some wanting to maximize total unit sales of
Clipper may disagree, Clipper, despite its typlical use of dBASE-like
(that is, English-like) syntax is simply not a tool for beginners.
Their tech support, as some have discovered, seems to imply this as
well.  If it is not obvious by now, try to plug yourself into the
Clipper user world (User groups, BBS, newsletters, NANFORUM) as 
much as possible for de facto tech support.

3.  5.0 works best with 5.0 syntax.  As far as I can tell, most of
the beta testers for 5.0 seemed to be more advanced users who were
very eager to use the new constructs of the language.  IMHO, upward
compatability with Summer '87 code that worked (note I do not say
it was "proper" syntax) was not the highest priority.  (Also, many
people do not seem to understand that many third-party libraries
access internal Clipper information that was specific in location or
content to a specific version.  If this is the case, you need a new
version of the library from the library vendor.  If one is not 
available, you will simply have to change your code or functionality.)
Since no DOS 4GL that I know of includes a BNF grammer with it,
the functionality of the language must be determined from actual
operation.  In short, do not assume that any Summer '87 code 
application will necessarily work unchanged in 5.0.
 
In summary, Clipper 5.0 is very good for what it is, a fairly
English-like 4GL for rapidly developing DOS database applications.
However, it does not have the ease of use of Turbo BASIC, it is
not portable or optimized like C, and it is certainly not an
environment like Smalltalk or InterLISP.  It does provide a very
good time/performance trade-off to develop .EXE applications.
But one should be very aware going in of what it does and does not
provide, at least in the current incarnation.  The problems that
some people have with 5.0 are in some cases actually problems with
choosing the right tool for the job.

IMHO, the developers and technical experts advocating Clipper (such
as Tom Leylan) are very knowledgable.  However, some of Nantucket's
marketing and promotion people seem to have gotten carried away
at times, and obviously tech support and documentation is not 
Nantucket's highest priority.  (BTW, if you do not have Rick Spence's
book on 5.0, run, don't walk, to get a copy of it!  He is probably
too modest to mention it, but it is my understanding that Tom Leylan
contributed quite a bit to it.) 

And may the debates continue!


Tom Rombouts  Torrance 'Tater  tomr@ashtate.A-T.com

tleylan@pegasus.com (Tom Leylan) (05/19/91)

In article <1991May17.170054.18080@dbase.A-T.COM> tomr@dbase.UUCP (Tom Rombouts) writes:

< a wonderful message which I won't repeat>

Thanks Tom... I think you've said it as eloquently as it can be said and I
hope I never hesitate to tell somebody that Clipper 5.0 is not a piece of
cake.

Writing business applications is not a casual undertaking and anyone making
the effort should understand the principals of good software design and
should obviously choose the appropriate tools.

Without a doubt the first incantation of Clipper 5.0 was very faulty and
I have sympathy for those who were frustrated by problems which were not of
their own devising.  On the other hand, if somebody released an application
to the public using that version I have to think that their own testing
phase was severly flawed as the errors were painfully obvious.

Hopefully your message has put an end to the nonsense and those that like
Clipper can continue to produce the applications and those that do not can
call the nearest discount software place and order anything else they wish
and become productive in that.

Freedom of choice... a great concept.

tom

diamond@hubcap.clemson.edu (The REAL David Lee) (05/19/91)

tleylan@pegasus.com (Tom Leylan) writes:

>In article <1991May17.170054.18080@dbase.A-T.COM> tomr@dbase.UUCP (Tom Rombouts) writes:

>< a wonderful message which I won't repeat>

>Thanks Tom... I think you've said it as eloquently as it can be said and I
>hope I never hesitate to tell somebody that Clipper 5.0 is not a piece of
>cake.

>Writing business applications is not a casual undertaking and anyone making
>the effort should understand the principals of good software design and
>should obviously choose the appropriate tools.

>Without a doubt the first incantation of Clipper 5.0 was very faulty and
>I have sympathy for those who were frustrated by problems which were not of
>their own devising.  On the other hand, if somebody released an application
>to the public using that version I have to think that their own testing
>phase was severly flawed as the errors were painfully obvious.

>Hopefully your message has put an end to the nonsense and those that like
>Clipper can continue to produce the applications and those that do not can
>call the nearest discount software place and order anything else they wish
>and become productive in that.

I second that emotion. I LIKE 5.01. I think it is an extremely flexible 
tool for database applications. Now if you don't want to work at writing
Clipper code (w/ all the benefits of its flexibility go buy Clarion (sic)
. Clarion will spoon feed you if that is what you want. Of course Clarion is about as flexible as concrete. 

Just an opinion, treat it as such.

-- 
   David C Lee                      
   Clemson University     //       
   Clemson,SC           \X/ Amiga
   diamond@hubcap.clemson.edu	

landers@zeus.mgmt.purdue.edu (Christopher Landers) (05/21/91)

In article <1991May17.170054.18080@dbase.A-T.COM> tomr@dbase.UUCP (Tom Rombouts) writes:
>Well, as much as I hate to do it, and knowing it is of no interest
>to the Oracle, Informix, Ingres, Sybase and Unify people who dominate 
>this group....

Why hesitate?  Clipper is a database product, and many readers of this group
use it.  UNIX database users have kill files too. 

Maybe it's time for comp.databases.xbase (or .pc)?

-- 
   <================================><===============================>
   || Christopher Landers           || PURDUE UNIVERSITY - KRAN 708 ||
   || Krannert Computing Center     || West Lafayette, IN  47907    ||
   <=================== landers@zeus.mgmt.purdue.edu ================>

landers@zeus.mgmt.purdue.edu (Christopher Landers) (05/21/91)

In article <1991May19.111614.4604@pegasus.com> tleylan@pegasus.com (Tom Leylan) writes:
>
>Writing business applications is not a casual undertaking and anyone making
>the effort should understand the principals of good software design and
>should obviously choose the appropriate tools.
>

Now class, repeat this aloud three times, print it out, then stick it under
your pillow every night.  

If you still don't understand, get the hell out of the business, you'll give
the rest of us a bad name!

Oh, Tom, how we wish it could come true!

-- 
   <================================><===============================>
   || Christopher Landers           || PURDUE UNIVERSITY - KRAN 708 ||
   || Krannert Computing Center     || West Lafayette, IN  47907    ||
   <=================== landers@zeus.mgmt.purdue.edu ================>

kms@well.sf.ca.us (Kelly Stanonik) (05/22/91)

landers@zeus.mgmt.purdue.edu (Christopher Landers) writes:

>Why hesitate?  Clipper is a database product, and many readers of this group
>use it.  UNIX database users have kill files too. 

>Maybe it's time for comp.databases.xbase (or .pc)?

comp.databases.clipper.5?

Seriously comp.databases.xbase (or .pc) sounds like a great idea, why
don't you start it up?