Kingsway Computing Solutions
Home News Articles Contact Us
About Us Progress Software Services Specialised Expertise Login

About KCS

Progress Support/ Services Login Document Imaging Specialised Services Specialised Expertise Transportation Packages Bar Coding Progress Emergency
 

First Published November 1995. Computer World Canada:

How's this for PROGRESS?

"If you have to ask how much it costs, then you can't afford it!"

So said King Edward VII when asked about the costs of Yachting. Not so long ago, much the same could have been said about large data processing systems. The cost of the equipment was exorbitant; (multi million for many situations), the operating systems were likewise, and the time to code even simple applications was only whispered about.

The last ten years have seen the entire data processing industry, fall over and re emerge leaner, healthier and orders of magnitude more accessible to corporations and individuals.

Thanks mainly to the impact of progressively cheaper Intel processors (Gordon Moore, one of Intel's founders even has a "law" named after him which states that the power of computer chips doubles every two years), rather than continuing the previously inexorable rise in prices, the huge majority of hardware vendors had to meet the challenge and savagely cut their prices (therefore profits, and in most cases workforces). The same parallel can also be said of operating systems: the million dollar proprietary O/S is now no more, and upstarts like UNIX are now approaching the de facto status of O/S of choice in a majority of "retooled" D.P. shops. (Sorry all you NT fans, I'm waiting a while yet). The only aspect of data processing which has not enjoyed a similar renaissance, is in the area of producing the actual code for the required system. During the same period, programming language products have typically increased in terms of cost per user. However, with the potential of enormous increases in programmer productivity, even this aspect should come closer to being a stable cost.

"Productivity" itself can be a strange beast: 10 years ago, all a system had to do was accept the details on a card, save it in a machine, collate these disparate data, and produce a report on it. Now of course, no user will accept anything less than full multiple GUI screens in multiple colours, plus a direct Internet link to the pop machine in the hall. So actually completing a functioning system is now orders of magnitude more demanding. Loosely though, productivity is now envisaged to mean producing a working system bigger and "better" with the same, or more usually, less resources available. With the advent of more sophisticated forth generational languages (4 GL's) most of the details of keeping data integrity clean, is left to the database engine; even if a transaction is interrupted during a power failure, the database (should) keep its integrity. This off loads the nuts and bolts of system writing onto a generic function. Indeed, modern data processing engines have taken away much of the "grunt" work of writing systems.

4 GL's did not really start to take off in the industry until data processing power (aka bang for your buck), became cheap compared with the cost of producing the coded system. Hence, although some 4 GL companies have been around for nearly 20 years, 4GL use was restricted to some degree because of the over head of the data base engine. With the advent of the exponential increases in processing power for less cost, the time required to do a sophisticated algorithm, to say update a records index generically, became much more acceptable. Using 4GL's the main functions for data integrity are put to rest, - the data base engine simply does it all.

Productivity Under PROGRESS

To actually produce working applications, some kind of sentient life forms (some people would debate this description) are herded into cool dark rooms and click away for an indeterminate amount of time. Thankfully, the days when EVERYTHING that moved, relating to data/ system integrity had to be the exclusively responsibility of the programmer are (or at least could be) gone for ever. In many a programmer's career, various quaint, demanding and idiosyncratic languages have passed under finger tips. Thankfully, most are now discontinued if not expunged from the ranks.

Under Third Generation Languages (3 GL's), programmers have to get down to the nuts and bolts of data control, for example, to read data under a "C" program the coder must:

issue at least one instruction to find a pointer in a file,

locate that pointer at the data, (sometimes by various devious means)

read the details found there,

map these details to usable data.

Writing details back to a file is even more nerve racking as the integrity of every index must be considered. Any one who has had to run an "Index Rebuild" routine after system crashes or just as a matter of course, will be very familiar with this. An equivalent PROGRESS 4GL instruction would be: FIND file_1 WHERE file_1.numb = (index_id). To read it, and RELEASE file_1. To write it back. It does not take a cost accountant long to work out the inherent benefits here.

Productivity is also evident in "transaction processing"; this process is a fairly modern luxury. A data transaction includes all the details deemed necessary for a COMPLETE function, and either ALL the details must be committed or none of them. What must be specifically coded function by function as a full transaction under a 3GL, must also be undone function by function to clear each and every one. For example, if several records are created for any reason, if during the transaction, the operator decides to void the entire process, then each action must be specifically cancelled out. This means the program must keep track of everything that has happened, file creates, deletes, changes etc. Compare this to a PROGRESS transaction where the scope of the transaction can be defined simply by stating:

DO TRANSACTION ON END-ERROR UNDO, LEAVE:

{code}

END.

The item {code} can be as large as you like: create/ delete, changes etc. In fact any configuration of data base functions: Only after the final END statement will ALL details be confirmed to the database. Up to that point, the operator still has complete control over the final outcome.

PROGRESS is only one of an increasing number of advanced programming "devices" which are beginning to transform database programming. 4GL's will never take over all of the data processing industries language requirements. "C" will be used for fast communications for the foreseeable future. Various levels of Fortran are still used extensively in science. Recent estimates indicate that around 85% of systems running are written in BASIC or COBOL and 15% all other languages. For transaction based applications however, sheer budgetary limitations and time restraints will highlight the natural advantages of an intelligent product like PROGRESS over BASIC.

One thing is certain, a Pentium processor, running UNIX with a PROGRESS data base, costs approximately 5% of the cost of a similar "powerful" system of 10 years ago, and is probably 20 times faster to code an intelligent application in.

All things considers, data processing seems to be PROGRESSing quite well!

Byline: Jim Smith is president of Kingsway Computing Solutions Inc. based in Toronto. KCS specialises in all aspects of data processing systems under UNIX and PROGRESS 4GL in Canada and internationally. Jim can be reached at: (416) 710-3290, or

 
Home | About Us | Services | Contact Us | Sign In
Copyright © 1993 - 2017 Kingsway Computing Inc.