On Fri, 08 Jan 2021 21:52:39 -0500, Dennis Lee Bieber wrote:
> On Wed, 6 Jan 2021 08:25:33 -0000 (UTC), Martin Gregorie
> declaimed the following:
>
>
>
>>COBOL is another language that historically tended to support only the
>>latest syntax, which is a pain since source files can be huge. I've
>>worked on COBOL program modules that ran to over 5000 lines back in the
>>day, i.e before 1978, when COBOL didn't yet support writing separately
>>compiled subroutines (no LINKAGE SECTION), though AFAIK COBOL has always
>>supported calling subroutines written in other languages).
>
> LINKAGE SECTION was part of the COBOL-74 standard, and I recall it
> existed on the Xerox Sigma-6 COBOL that was used at my college when I
> attended (76-80). Our assignments may not have used it -- or we only had
> a short intro to the concept.
>
> However, I'm fairly certain my college compiler did not support
"copy
> books"... And since that time-frame meant 24x80 text terminals, and line
> mode text editors, one would have to manually duplicate the section from
> a listing... Or write the program on the IBM 029 card punch -- feeding
> the linkage section into it in duplicate mode, then inserting the copy
> into the second file...
Compiler features do vary: I don't recall seeing LINKAGE section in any
version of the ICL 1900 COBOL compilers, which I was using 1968-1977. If
LINKAGE sections had been available I'm sure I would have used them and
coded subroutines in COBOL, but though our COBOL code regularly called
subroutines, these were all written in PLAN (assembler). From 1978 onward
I was programming ICL 2900s: 2900 COBOL implemented LINKAGE sections and
we made extensive use of them to split large COBOL programs into modules.
After 1984 I wrote very little COBOL, and that was for DEC and MicroFocus
compilers. None of these projects used COBOL subroutines: the DEC RDB
interface module was language agnostic and so LINKAGE sections weren't
needed. The MicroFocus COBOL projects called C functions.
COPY books were fairly common on ICL 1900 projects.
The ICL 2900 world used COPY books too, though it implemented them as
calls to the Advanced Data Dictionary) rather than as traditional copy
libraries, and handled the IDMSX database interactions via a preprocessor
that converted pseudo-COBOL statements COBOL programs into COBOL
subroutine calls. The IDMSX schema processor converted schema definitions
into the COBOL subroutines called by application programs. All quite
neat, easy to use, and worked very well.
--
--
Martin | martin at
Gregorie | gregorie dot org
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|