Tim Rentsch wrote:
snip
Personally I think his assessment of JCL is harsher than it
deserves. Don't get me wrong, JCL is not my idea of a great
control language, but it was usable enough in the environment
that customers were used to.
From 1972-1979 I worked at a site that had boh S/360s (mostly /65s)
running OS/MVT, and Univac 1108s running Exec 8. I used both, though
did mostly 1108 stuff.
For several reasons, JCL was terrible. One was its seemingly needless
obscurity. For example, IIRC the program name of the COBOL compiler
was ICKFBL00. In contrast, the COBOL compiler under Exec 8 was called
COB. It aalso lacked intelligent defaults, which made a it more
cumbersome to use. But this was mostly hidden due to a much bigger
problem.
Perhaps due to the architectures inability to swap a program out and
reload it to any real address other than the one it had originally, all
resources to be used had to be avaable at the beginning of the job, so
all JCL was scanned at the beginning of the job, and no "dynamic"
allocations were possible.
So, for example, the COBOL compiler needed, besides the input file
name, IIRC four scratch files, an output file and a place to put the
(spooled)print listing. These must be explicitly described (JCL DD
commands) in the JCL for the job, Similarly for other programs. This
was so inconvenient that IBM provided "Procedures" (essentially JCL
macros), that included all the necessry DD statements, hid the actual
program names, etc.) Thus to compile link and execute a COBOL program
you invoked the procedure called something like ICOBUCLG (I have
forgotten exactly, but the last thre characters were for Compile, Link,
and GO). Contrast that with the EXEC 8 command
@COB programname
(The @ was Exec's equivalent to // to indicate a comand) The internal
scratch files were alocated internally by the compiler, the default
print output (which could be overridden) went to the printer, the
default output name (again overridable) was the same as the input
(object files and source files could have the same name).
Similarly, to copy a file from one place to another, JCL required at
least two DD cards and an exec card with the program IEBGENER. Under
Exec 8, the command
@Copy sourcefile, destinationfile
was sufficient, as both files would be dynamically assigned (Exec term)
internally by the copy program, and the indicator of success or failure
went to the default print output.
While, as you stated, programmers dealt with this, and it worked in
batch mode. But it clearly wouldn't work once time sharing (called
Demand in Exec terminology) became available. Thus IBM had to invent a
whole new, incompatible set of commands for TSO. But the Exec 8 syntax
was so straightforward that users used exactly the same commands, keyed
in at the terminal as were put on cards or a file in batch mode. That
difference persists to this day.
The biggest fault of JCL is that it
is trying to solve the wrong problem.
What problem was it trying to solve and what was the "right" problem?
It isn't clear that trying
to do something more ambitious would have fared any better in the
early 1960s (see also The Second System Effect in MMM).
Exec 8 was roughly comtemporaeous with OS/MVT. I claim, was a much
better choice,
No comment about JCL still being used today.
IBM takes backward compatibility really seriously.
-- - Stephen Fuld (e-mail address disguised to prevent spam)
Date | Sujet | # | | Auteur |
21 Apr 24 | The Design of Design | 128 | | Thomas Koenig |
21 Apr 24 | Re: The Design of Design | 67 | | John Levine |
25 Apr 24 | Re: The Design of Design | 66 | | Thomas Koenig |
25 Apr 24 | Re: The Design of Design | 65 | | Stephen Fuld |
26 Apr 24 | Re: The Design of Design | 56 | | John Levine |
26 Apr 24 | Re: The Design of Design | 2 | | MitchAlsup1 |
26 Apr 24 | Re: The Design of Design | 1 | | John Levine |
26 Apr 24 | Re: The Design of Design | 50 | | Thomas Koenig |
26 Apr 24 | Re: The Design of Design | 1 | | Stephen Fuld |
26 Apr 24 | Re: The Design of Design | 47 | | John Levine |
27 Apr 24 | Re: The Design of Design | 4 | | Thomas Koenig |
27 Apr 24 | Re: PDP-10 addressing, was The Design of Design | 3 | | John Levine |
27 Apr 24 | Re: PDP-10 addressing, was The Design of Design | 2 | | MitchAlsup1 |
27 Apr 24 | Re: PDP-10 addressing, was The Design of Design | 1 | | John Levine |
30 Apr 24 | Re: The Design of Design | 42 | | MitchAlsup1 |
30 Apr 24 | Re: The Design of Design | 40 | | John Levine |
1 May 24 | Re: The Design of Design | 39 | | Tim Rentsch |
1 May 24 | Re: architecture, The Design of Design | 38 | | John Levine |
2 May 24 | Re: index architecture, The Design of Design | 1 | | John Levine |
2 May 24 | Re: architecture, The Design of Design | 4 | | Thomas Koenig |
3 May 24 | Re: architecture, The Design of Design | 1 | | MitchAlsup1 |
5 May 24 | Re: architecture, The Design of Design | 2 | | Thomas Koenig |
5 May 24 | Re: ancient 704 architecture, The Design of Design | 1 | | John Levine |
7 May 24 | Re: architecture, The Design of Design | 32 | | Tim Rentsch |
7 May 24 | Re: architecture, The Design of Design | 1 | | Thomas Koenig |
7 May 24 | Re: architecture, The Design of Design | 28 | | Michael S |
7 May 24 | Re: architecture, The Design of Design | 2 | | John Levine |
8 May 24 | Re: architecture, The Design of Design | 1 | | John Levine |
8 May 24 | Re: architecture, The Design of Design | 2 | | Tim Rentsch |
9 May 24 | Re: architecture, The Design of Design | 1 | | John Levine |
8 May 24 | Re: architecture, The Design of Design | 23 | | Thomas Koenig |
8 May 24 | Re: architecture, The Design of Design | 22 | | Michael S |
8 May 24 | Re: backward architecture, The Design of Design | 21 | | John Levine |
9 May 24 | Re: backward architecture, The Design of Design | 2 | | Lynn Wheeler |
10 May 24 | Re: backward architecture, The Design of Design | 1 | | Lynn Wheeler |
9 May 24 | Re: backward architecture, The Design of Design | 18 | | Michael S |
9 May 24 | Re: backward architecture, The Design of Design | 14 | | Thomas Koenig |
9 May 24 | Re: backward architecture, The Design of Design | 13 | | Michael S |
9 May 24 | Re: backward architecture, The Design of Design | 2 | | Anton Ertl |
9 May 24 | Re: backward architecture, The Design of Design | 1 | | Anton Ertl |
9 May 24 | Re: backward architecture, The Design of Design | 9 | | Stephen Fuld |
9 May 24 | Re: backward architecture, The Design of Design | 2 | | Michael S |
9 May 24 | Re: backward architecture, The Design of Design | 1 | | John Dallman |
10 May 24 | Re: backward architecture, The Design of Design | 6 | | Tim Rentsch |
10 May 24 | Re: backward architecture, The Design of Design | 5 | | Stephen Fuld |
30 May 24 | Re: backward architecture, The Design of Design | 4 | | Tim Rentsch |
30 May 24 | Re: backward architecture, The Design of Design | 3 | | Stephen Fuld |
30 May 24 | Re: backward architecture, The Design of Design | 2 | | Tim Rentsch |
31 May 24 | Re: backward architecture, The Design of Design | 1 | | John Levine |
10 May 24 | Re: backward architecture, The Design of Design | 1 | | Tim Rentsch |
10 May 24 | Re: backward architecture, The Design of Design | 1 | | John Levine |
10 May 24 | Re: backward architecture, The Design of Design | 2 | | Tim Rentsch |
10 May 24 | Re: backward architecture, The Design of Design | 1 | | John Levine |
7 May 24 | Re: architecture, The Design of Design | 2 | | Anton Ertl |
8 May 24 | Re: architecture, The Design of Design | 1 | | Tim Rentsch |
30 Apr 24 | Re: The Design of Design | 1 | | MitchAlsup1 |
30 Apr 24 | Re: what's a register, The Design of Design | 1 | | John Levine |
26 Apr 24 | Re: The Design of Design | 3 | | Stephen Fuld |
26 Apr 24 | Re: The Design of Design | 2 | | John Levine |
26 Apr 24 | Re: The Design of Design | 1 | | Stephen Fuld |
27 Apr 24 | Re: The Design of Design | 7 | | Thomas Koenig |
27 Apr 24 | Re: The Design of Design | 1 | | Stephen Fuld |
27 Apr 24 | Re: The Design of Design | 2 | | John Levine |
27 Apr 24 | Re: The Design of Design | 1 | | Thomas Koenig |
28 Apr 24 | Re: The Design of Design | 3 | | Tim Rentsch |
29 Apr 24 | Re: antitrust history, The Design of Design | 2 | | John Levine |
1 May 24 | Re: antitrust history, The Design of Design | 1 | | Tim Rentsch |
29 Apr 24 | Re: The Design of Design | 1 | | Tim Rentsch |
29 Apr 24 | Re: The Design of Design | 60 | | Tim Rentsch |
1 May 24 | Re: The Design of Design | 59 | | Stephen Fuld |
1 May 24 | Re: JCL, The Design of Design | 3 | | John Levine |
1 May 24 | Re: JCL, The Design of Design | 2 | | Stephen Fuld |
1 May 24 | Re: JCL, The Design of Design | 1 | | Stephen Fuld |
1 May 24 | Re: The Design of Design | 1 | | MitchAlsup1 |
1 May 24 | Re: The Design of Design | 1 | | Thomas Koenig |
7 May 24 | Re: The Design of Design | 53 | | Tim Rentsch |
7 May 24 | Re: The Design of Design | 45 | | Stephen Fuld |
7 May 24 | Re: The Design of Design | 1 | | Thomas Koenig |
7 May 24 | Re: The Design of Design | 33 | | Stephen Fuld |
7 May 24 | Re: The Design of Design | 29 | | Thomas Koenig |
7 May 24 | Re: The Design of Design | 28 | | Stephen Fuld |
7 May 24 | Re: interative use, The Design of Design | 25 | | John Levine |
7 May 24 | Re: interative use, The Design of Design | 4 | | MitchAlsup1 |
8 May 24 | Re: third system syndrome, interactive use, The Design of Design | 3 | | John Levine |
8 May 24 | Re: third system syndrome, interactive use, The Design of Design | 2 | | Lynn Wheeler |
9 May 24 | Re: third system syndrome, interactive use, The Design of Design | 1 | | Lynn Wheeler |
8 May 24 | Re: interative use, The Design of Design | 20 | | Stephen Fuld |
8 May 24 | Re: interative use, The Design of Design | 19 | | John Levine |
9 May 24 | Re: interative use, The Design of Design | 18 | | Stephen Fuld |
10 May 24 | Re: address architecture, not interactive use, The Design of Design | 17 | | John Levine |
10 May 24 | Re: address architecture, not interactive use, The Design of Design | 1 | | Stephen Fuld |
11 May 24 | Re: address architecture, not interactive use, The Design of Design | 15 | | Thomas Koenig |
11 May 24 | Re: address architecture, not interactive use, The Design of Design | 3 | | MitchAlsup1 |
12 May 24 | Re: address architecture, not interactive use, The Design of Design | 2 | | Thomas Koenig |
13 May 24 | Re: address architecture, not interactive use, The Design of Design | 1 | | MitchAlsup1 |
11 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 11 | | John Levine |
12 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 10 | | Thomas Koenig |
13 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 9 | | John Levine |
13 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 8 | | Thomas Koenig |
13 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 7 | | John Levine |
13 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 4 | | MitchAlsup1 |
14 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 1 | | Thomas Koenig |
25 May 24 | Re: branch address architecture, not interactive use, The Design of Design | 1 | | Anton Ertl |
8 May 24 | Re: The Design of Design | 2 | | Thomas Koenig |
10 May 24 | Re: The Design of Design | 3 | | Tim Rentsch |
30 May 24 | Re: The Design of Design | 10 | | Tim Rentsch |
7 May 24 | Re: The Design of Design | 7 | | Thomas Koenig |