Home Web Design Programming Fairlight CMI Soap Box Downloads Links Biography About... Site Map


CA-Clipper Opportunities Tips and Tricks Networking Internal Errors Source Code CA-VO


There is a tale about the origin of CA-Clipper. Whether it is true or not, few people know, but "insiders" have said that it is not far from the truth. Here it is.

One day in a seafood restaurant in Malibu, California, an Ashton-Tate employee and a consultant friend were having lunch. They were expressing their annoyance at the fact that Ashton-Tate had not created a compiler for the dBase language.

The two thought that maybe they should have a go at starting up a new company to create the compiler. As the excitement grew and the ideas flew, the issue of a product name came up.

One of the two noticed a picture of a sailing ship on the napkin (after all this was a seafood restaurant). It was a clipper ship -- a sleek, speedy, and elegant thing. That seemed to describe what they were trying to create.

What about the company name? The menu answered that question -- the restaurant name was Nantucket Lighthouse.

And so Nantucket's Clipper was born.

The consultant was Barry ReBell and the Ashton-Tate employee was Brian Russell.

Since that time there were four "seasonally" named versions of the compiler: Winter 85, Spring 86, Autumn 86, Summer 87. Very "California"...

These early versions clearly billed themselves as dBase compilers, with the Summer 87 version displaying "dBase III® compiler" on the floppy disks and documentation.

Many programmers using Clipper at the time were really "just" dBase programmers with a tool to create faster programs. So it was quite a shock to them when Clipper 5 was released. "What have they done to our language?", they asked. Local variables? Code blocks? Tbrowse?

But there were also those of us who had strained against the limitations of the dBase language -- the lack of modularity, the clumsiness, the vulnerability of public and private variables.

So we recognized that Clipper 5 was a turning point in the history of the Xbase language. No longer billed as a dBase compiler, Clipper became an "Application Development System". A real language.

Well, maybe not as real as C, but getting there. In fact, many Clipper 5 concepts were borrowed from C and other languages. The increment operator (++) and expression lists, for example, seem to have come from C, while code blocks may have been inspired by SmallTalk.

Gateway to the Future

The central purpose of Clipper 5, however, is to act as a gateway to the future. Clipper 5 allows you to write code "the old way" like a dBase programmer, but it gently encourages you to use better tools and techniques in preparation for something to come.

Clipper 5 asks: "Sure you can use private variables in your functions, but wouldn't it be better to use local variables? Why not take a look at tbrowse? Don't you think that it is better than dbedit()?"

Even with all of its power, like a source-level debugger, structured exception handling, more variable types, great array handling, replaceable database drivers, and powerful pre-processor upon which the entire language is built, Clipper 5 is still a training course for the next wave: Visual Objects.

Originally VO was started as an almost acedemic experiment in Nantucket's German office. Code-named "Aspen", it could be simplistically described as Clipper for Windows. But it is much more than that.

VO is a fully object-oriented language and development environment. As powerful and efficient as C++, in a fundamental way it is better because it is based on a more natural language. Such an impressive product, but it was still just a research experiment when it caught the attention of Computer Associates.

Computer Associates bought Nantucket so they could get VO. It is as simple as that. VO fits right into the middle of CA's "big picture". Even though CA sells many software products, VO is given a central position in CA's "Statement of Direction". It ties everything together.

CA-Clipper Lives

The popularity and tenacity of CA-Clipper surprised Computer Associates who were not used to the "grass roots" appeal of the language. This Web site is proof of that.

The CA-Clipper 3rd-party market was bigger and more active than for any other development tool, perhaps until Visual Basic took off and VBX files became the norm. There is a 3rd-party solution for every problem, from networking to graphics to communications. If what you are looking for can't be found, you can write it yourself. It is a developer's language.

Some are delighted at the freedom and power of CA-Clipper, while others are uncomfortable at the lack of high-level tools shipped with the product. A classic example: reports. You either roll your own, with tedious line-by-line printing, calculating, and looping, or you simply buy a reporting package like R&R or BandIT. CA-Clipper 5.3 addresses some of these issues by providing a Windows-based IDE and several add-on libraries.

CA-Clipper programs require no runtime royalties or network licences, are distributed as a monolithic .EXE files so the source code is safe, and run under DOS, Windows, OS/2, etc. Memory is not a problem, either. CA-Clipper has a sophisticated virtual memory management system, similar to Windows'. Programs can run on everything from an old XT to the latest Pentiums. Programs can be linked in protected mode so that even 3 megabyte executables run on everything from a 286 up.

Data access is no problem either. Version 5 introduced the replaceable database driver (RDD) technology, where the developer can "plug in" a different data handling engine to connect to everything from legacy DBF files, to Btrieve, to Oracle, to SQL databases on mainframes. At the same time, if needed. Visit my Introduction to RDDs page to find out more about replaceable database drivers.

Home Web Design Programming Fairlight CMI Soap Box Downloads Links Biography About... Site Map

Site Map Send comments about this site to Greg at ghservices.com[at]gmail.com
All pages copyright © 1996-2008 GH Services™   Created 1997/08/20   Last updated 2008/01/23
All trademarks contained herein are the property of their respective owners