Personal Computer News


Personal Cobol

 
Published in Personal Computer News #047

Dead Language?

David Guest looks at a Cobol implementation for the IBM PC and asks some hard questions

"Dear Personal Cobol Owner," Micro Focus' documentation begins, "the product you have in your hands is the outcome of the most intensive software development project Micro Focus has ever undertaken."

This is a polite and helpful introduction. Polite, because the reviewer's experience of impersonally addressed letters is limited to those in hotel rooms that begin "Dear Guest", which always strikes him as rather brusque. Helpful, because you might have thought the product in your hands is a fossil. It is as well to know the difference.

Personal Cobol - A Dead Language? Or A Deadly One?

You may have heard about Cobol. It is the language in which some of the great computer programs were written, much as Greek was the language of Homer.

The really sabre-toothed survivors regard Basic airily as something that a child could master after two hours tuition. They mean this judgement to be dismissive, labelling Basic as a toy that isn't to be taken seriously - but of course they achieve the opposite by drawing attention to Basic's main and overwhelming advantage. Anybody can use it and everybody has. Cobol has been left behind in the mainframe and minicomputer arena. What Micro Focus intends is not rehabilitation, but as the champion of Cobol on micros it may have to overturn a few prejudices before its protege can be accepted on its merits.

Features

Personal Cobol is not simply a Cobol compiler that runs on a micro. Micro Focus describes it pompously as "an integrated program development system" which is to say that it is a better means of producing Cobol programs than was available to some of the Neanderthalers whose first tongue it was. In addition it has been grafted carefully on to the IBM PC to use the IBM environment very thoughtfully, particularly where the function keys are concerned.

(Incidentally, there is no automatic connection between IBM and Cobol, except that both are large, cumbersome and a brake on progress. IBM has never patronised Cobol exclusively and an IBM programmer is as likely to use mysterious things called RPG II or APL.)

In a nutshell, if you can already find your way around in Cobol, this personalised version will present you with no problems. If you can't you might first of all want to know why you should want to in the first place. Having resolved that question to your satisfaction you'll be pleased to find that Personal Cobol has very few teeth that it will try to cut on you.

It consists of an editor, a code generator and checker, and a run-time system that includes some very useful debugging facilities. There is no compiler - it works at the source code level - and no interpreter in the sense that Basic users will be accustomed to. Micro Focus has split the functions of a compiler by offering, in separate stages, a logic and syntax checker, and a form of map production that fixes the references during execution.

The Cobol is extended in certain areas such as colour handling, but if you restrict yourself to the central core of code you can write programs in Personal Cobol on a PC and run them elsewhere, perhaps on an IBM mainframe.

Cobol programming is supposed to be a highly disciplined affair; in theory all you need is paper and a pencil, usually HB or softer to that regular rubbing out doesn't destroy the paper. With forethought and careful planning, the theory goes, you can design and write your program to run perfectly first time without even going near a computer, let alone text editors or debugging utilities. In practice this approach rarely works.

As far as hardware is concerned Personal Cobol needs 256K of RAM, twin double-sided disks (or one floppy and one hard disk on an XT) and PCDOS 1.1 or 2.0. Micro Focus says it has no intention at the moment of putting the product on to any other micro.

Documentation

Before you unwrap your Personal Cobol you may notice its remarkable weight, which reinforces the view that what you are holding may be a lump of sedimentary rock harbouring the remains of a trilobite.

But once you have it out in the open there is no doubt - this is a piece of software. It is perfectly obvious from the 2in-thick manual. At first there is no sign of software - the disks are tucked away in a wallet at the back, like pressed flowers. Perhaps you are intended to read your way to them.

The plastic-based ring binder that you extract from the cardboard packaging proves to contain four distinct manuals in addition to the diskettes. On the inside cover there is the pocket guide to Personal Cobol and this is a perfectly adequate notebook that should answer most questions when you've used the heavyweight manuals to get to know the system.

On the rings themselves are the Beginner's Guides, Getting starter, and Operating Guide, and the prodigious Language Reference Manual. When it's possible to run Cobol programs on a micro you'd thing somebody would have mastered book production, but apparently not. Ring binders are fashionable and (for the manufacturer, at least) cheap, so we are stuck with them.

There is more evidence of thought-deprivation on the pages themselves. The letters printer there have the tell-tale fuzziness of dot-matrix printer output. M's occupy as much space as I's. In chunks the text is almost unreadable from a distance greater than 18ins. To compound the problem the paper shines unpleasantly.

Why quibble about all this, you may ask? Because in the production of the software Micro Focus has obviously gone to a great deal of trouble to make life as simple for the user as possible. It seems nothing short of stupid that the company should accompany its software with an almost unreadable manual. What is wrong with real print, cheap paper, design, and workable binding?

For content it is difficult to fault the documentation. Getting Started does exactly what it sets out to do - the exercises it covers are not especially ambitious but they take you through the main features.

The Operating Guide is primarily a reference book that lists the help menus offered by the system.

The Language Reference Manual will send shivers of terror up the spine of anybody who has ever tried to learn Cobol from such a volume. It is comprehensive, well ordered and the underlined words gradually acquire the significance of an incantation.

In Use

A Cobol program, like the football league, has four divisions. Personal Cobol in action can best be considered in four parts (Cobol programmers will recognise the structured approach in this ruse) - program writing, editing, checking and 'animating'.

Writing a program is never something that should be done at a keyboard, say the dogmatic gurus who have made such a mess of applications programming. With Personal Cobol you can write a program without a computer, but to make the most of the package, and particularly its code generation facility Forms, you should interact with the machine from an early stage.

In operation the Cobol systems disk occupies one drive and your word disk the other. The route through Personal Cobol begins at a menu so simple that it is almost unrecognisable as a menu. Thereafter matters become more involved, with main menus, alternative menus, and second alternative menus all available at the touch of a function key. The Cobol itself allows for as many as 60 nested PERFORM statements - at times it seems that the menus are nested as deeply.

The editor will probably be your first port of call. This is functional rather than spectacular - or perhaps the quality of word processors on micros makes a mere text editor look old hat these days. Besides, in Cobol the most important feature of an editor is the Tab that makes your listing intelligible. Tabulation is a modest enough feature, but you'd miss it if it wasn't there, whereas life is quite satisfactory even without a global search and replace facility.

Forms appears in the editor's main menu, and this is where you can save much time and even more nervous energy. Code generators are by no means uncommon but to an old Cobol programmer anything that takes some of the leg work out of the Data Division is worth its weight in gold. All that Forms does is produce the code for the screens and forms of your design, and provide for your use of them as the program executes.

Checking the program will be a foreign concept to most Cobol die-hards. The normal procedure is to compile it; if it is respectably large this may take several hours, at the end of which you will know approximately how many errors remain to be corrected before you'll have something that will run. You take the program away, make corrections, try again, and find that there are still more that the compiler couldn't find.

Checking it with Personal Cobol is more akin to the standard Basic practice. The checker takes the program in line by line, and when it encounters an error it offers you the option of continuing or of returning to the editor to make a change. In the latter case it moves the cursor automatically to the appropriate place for you.

And so to the Animator, to actually run the program. Micro Focus says that it chose this word because a new word was needed - the function of the Animator is so unusual that no existing term is adequate.

The Animator has some quite extraordinary facilities. You can control the speed at which your program runs, right down to one line at a time. You can cut in to look at or change the status of variables. You can watch the program's execution either from the user's point of view or the program's. The documentation takes you through some of the more visually rewarding features in Getting Started and points to the more advanced ones in the Operating Guide. Here the full potential of the Animator becomes clear: for example, it will let you break automatically at an IF, or it will execute a PERFORM paragraph as though stepping over it to avoid wasting time.

As a program development system this amounts to a very creditable package.

Verdict

Beyond this point the review might risk becoming one of Cobol as a language rather than of Micro Focus's Personal Cobol for the IBM PC.

Cobol does have advantages over Basic: it is one language, not many; it was designed (however badly) for business programming; it imposes a structure on the programmer and his output; and it is probably still true to say that there are more Cobol programmers around than any other kind.

Personal Cobol comes from a company with a classy record in Cobol products and it won't tarnish Micro Focus' reputation as far as the technicalities are concerned. The marketing wisdom of putting Cobol on to a PC is another matter - it may be too late to persuade people that Cobol, widely regarded in the mainframe community as a millstone around the neck, should now be taken up by the micro world.

Rating

Features 5/5
Documentation 4/5
Performance 4/5
Usability 4/5
Reliability 5/5
Overall Value 4/5

David Guest