December 14, 2016

Clipper Advanced Interview Questions and Answers

Who is Communication Horizons?

In a business where companies and products seemingly come and go every month, Communication Horizons has been a fixture on the PC software landscape since 1986. Their flagship product, NetLib, was introduced in 1986, and has won either "best of" or "honorable mention" in the DataBased Advisor Readers Choice Awards every year since 1989.

RaSQL, introduced in 1989, has almost single-handedly raised the awareness in the "Xbase" community to the benefits of Btrieve. Between the two, Communication Horizons' products have been used by tens of thousands of developers worldwide.

What does CLIPPER stand for?

A clipper is a fast or prestigious ship.
CliPPer = C Plus Plus
cLIpper = LIbrary
clippER = ER, thats enough acronym for now.
Or if you prefer, "Cross-crystal Likelihood Phase Probability Estimation and Refinement, which is what I hope it will be used for.

Do I need CCP4?

No. CCP4 is an optional dependency which is only needed if you want to access CCP4 file formats.

Why use references rather than pointers in the public API, particularly for arguments which are modified?

The C++ provides the most precise statement of the priciples:
No pointers in the public API, except when returning a pointer which might be null. The above reference also describes the problem of wrong attitudes brought over from C.

Can I use Fortran/C/Python/Visual Basic?

You can provide SWIG wrappers for the parts of your program you need to access.

Why do not you use GNU autoconf or SCONS for building?

The short answer is that if you get it from CCP4, it does. If you get it from me it doesn't, becuase autoconf is unreasonably complex and I have better things to fill my head with.
The long answer is that when Paul (who is an autoconf guru) and I set up autoconf for clipper it took us a week, and required sufficient specialist knowledge that I couldn't really maintain it. By contrast, when I set it up with SCONS, it took me less than a day and was easily maintainable, however at that stage SCONS didn't handle other platforms very well. So I distribute development versions of clipper with simple build scripts which actually work for me, CCP4 distribute release versions with autoconf because they have enough experience to maintain it, and PHENIX distribute it with SCONS because that's what they use. If you want an autoconf version, use the CCP4 release (granted its always a bit out of date).

Why not PHENIX, the Zelinka/Otwinoski libraries, etc?

I'm writing this library to solve my own problems, and to help CCP4 developers transition to OO programming. You should find the best tool for the problem you need to solve, and use that. If Clipper fits the task, then I am happy to provide advice on implementation and make changes which do not lose generality.

Why C++ used in Clipper?

This is where I'm supposed to tell you that C++ is a great language. It isn't (at least not for my purposes). A good programming language allows you to think in the language of the problem, not the language of the computer. In C++ you keep having to return to implementational details, such as whether to use a pointer or a reference or a value, a derived class or a template. This is probably unavoidable if good performance is going to be achieved.
But the main reason is a lack of alternatives. Java is (generally) slow, and clumsy in places. Maybe Objective-C, Delphi, or even C# have solved some of these problems, but they are less portable and less widespread than C++.

Having said that, it is certainly possible to use CLipper in association with CCTBX.
What is NetLib for Clipper?

NetLib is a multi-faceted networking library for CA-Clipper. While it focuses on network functionality it also has many features which make it valuable even on a stand-alone system.
If I use NetLib, will I find many other users to network with?
NetLib has been around since 1986, and has over 20,000 users world-wide. You will easily find other users who may be willing to exchange their tips and tricks.

Why do I need NetLib?

If you are developing applications for use on a network it can greatly enhance the "look and feel", responsiveness and security of your application. It can improve your productivity by making difficult tasks easier and seemingly impossible tasks possible.

Is it possible to break NetLibs encryption?

NetLib's SDE was designed to be a moderately secure scheme to keep unauthorized users and programmers from accessing data. It was not designed to foil the skilled, dedicated hacker. If you have data of an extremely sensitive nature that you believe certain people are actively trying to compromise, you should look at an extremely secure scheme such as "DES" or "PGP" encryption.

Does NetLib support Windows 95?

NetLib 6.5 will allow you to use FiveWin or Clip4Win to create Windows 3.1 compatible products. These programs can run unchanged under Windows 95.
What versions of Clipper does NetLib support?
NetLib supports Clipper 87 through 5.3.

How easy is NetLib to use?

Most tasks can be accomplished with one or two lines of code. For more complex tasks (such as processing login scripts), we provide source code "snippets" which you can include in your application.

What is the license for Clipper?

If you get it from here, the code is licensed under the LGPL with an additional clause allowing for the distribution of binaries without object files. If you get it from CCP4, it is licensed under the CCP4 library license.

Subscribe to get more Posts :