Am 22.08.2014 03:25, schrieb Joel C. Ewing:
As for the coming critical shortage of COBOL programmers: I don't know how colleges train people in IT these days, but in the old days students were taught basic programming concepts and algorithms and exposed to many different programming languages in order to appreciate that no single programming language is optimal for all tasks. Once you understood programming concepts and were functionally literate in several languages, learning a new programming language was not that difficult: just read a language reference manual and an introductory text, learn how to map constructs and algorithms in known programming languages into the new language, learn what is unique about the language, and study existing programs. In a few days it was possible to write simple programs in the new language and certainly in at most a few months be competent enough to understand and potentiallly maintain programs in the language. Unless the new generation of programmers is much dumber than we were, I think the alarms about the future lack of COBOL programmers is overblown. Acquiring a new language skill is a better understood process and simpler than teaching complex application designs unique to one installation. It would certainly be better if younger programmers were brought on board and introduced to COBOL applications while some of the retiring COBOL programmers are still around, but that overlap is desireable just for passing on knowledge about installation programming conventions, complex application designs and inter-application relationships. If some IT-management types believe that this overlap requirement will just magically vanish or be significantly reduced if they migrate off COBOL to any of the existing alternatives or if they migrate to a different platform, they are in for a unpleasant surprise.

I believe that we should modernize the software development using COBOL
in a smooth way by providing the COBOL developer with "modern" libraries
and tools that make some tasks easier while maintaining the spirit and the
strengths of COBOL.

I did the same thing for our "legacy" PL/1 environment, and I will try to give
you an example.

If you use in-storage tables in COBOL or PL/1 programs (for example tables
of keys to lookup while processing a database or file sequentially), you normally use in those "old" languages a table with fixed limits, so you have to do an estimation, how large this table could get; maybe you read the table from a file at the beginning
of the processing, and the number of entries is varying.

I use a library instead, which puts the keys in a weighted tree (AVL tree) and allows the PL/1 or COBOL program to search very fast for the existence of the key in this AVL tree. There is virtually no limit to the number of entries; the AVL tree
resides in dynamic storage. There is no problem, if there are 1000, 10000 or
even a million keys (which is far from realistic numbers). The coding for the
COBOL user is very simple and straightforward; he or she only has to take
care that the tree (as a whole) is freed when it is no longer needed (by a simple
call, again).

This is what the C++ and Java guys do all the time ... I don't like their languages much,
but I do like the concepts and how easy they can be used. And the programs
are really fast, if the libraries are implemented in the right way. So I think we should provide our COBOL and PL/1 programmers with the right solutions, to enable them
to bring new life to old or new COBOL and PL/1 applications.

Another similar topic is: enable PL/1 and COBOL programs to do XML parsing
and writing of XML documents in an easy and efficient way. I have some problems with the performance implications of XML processing, too; but when communicating with external partners, it is a necessity, and so you have to cope with it. The existing solutions in the market work well with C++ and Java, but not so well with PL/1 and
COBOL. I have solutions for this problem, too.

If you want to know more about my efforts to modernize COBOL and PL/1
development, please contact me offline.

Kind regards

Bernd

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to