[GTALUG] IBM Mainframe and z/OS

Christopher Browne cbbrowne at gmail.com
Mon Dec 4 18:05:22 EST 2017


When I was at American Airlines/Sabre, a goodly set of their crucial
systems were running on TSO, on zSeries hardware (which tended to have
other names at that time; 3090s and S/390s, I think; it was never
clear to me what specific hardware I was ever connected to).

There'd be a goodly mixture of the following technologies:
 - Lots of the software was written in COBOL
 - PL/1 was also used fairly heavily

Storage would have a mixture mostly of three things:
a) Raw storage, in the form of block-oriented files
b) IMS databases
c) DB2 databases

The habit was to have code and storage pretty strictly disconnected;
apps in PL/1 or COBOL would get attached to storage mostly via JCL
scripts, and something that UNIX folk should find interesting about
this is that many of the options of /usr/bin/dd correspond pretty
directly to the shapes of commands in JCL.

It's easy enough to find COBOL compilers to run on Linux; PL/1 is a
mite more difficult.  If you were to want to figure out how to write
PL/1 code, I'd suggest looking into the SIMH Multics emulator; it runs
a full PL/1 implementation (albeit in an MIT flavour that's a bit
different from what IBM hawked).   http://ringzero.wikidot.com/start

I'm not sure that there are useful free implementations of equivalents
to IMS or JCL.  You'd not get a "free" implementation of DB2.

I'm also not sure that "tooling around" with the bits of this that are
available in 'gratis' form would make great preparation for using the
real thing.  The apps I got exposed to were all ones that integrated
together the combination of (compiler + data storage + scripting)
pretty tightly, and it doesn't seem to me that you can easily run
enough "for free" to learn crucial lessons on how it works.

Something crucial that would be missing would be database integration.
The mapping of COBOL/PL/1 data structures onto SQL was a special
sublanguage defined by IBM as extensions to those languages.

That would also parallel that I'm not sure that playing with "libre"
variants of APL would get you to a place where you'd be attractive to
the (dwindling) shops that might still be deploying IBM APL2 or Dyalog
APL software on mainframes.

That said, if you did some "hacking away" with one of the J or K
clones such as Kona (https://github.com/kevinlawler/kona.git), that
might well be close enough to "real K" to be of interest to K shops
(which do seem to exist).  But J headed to ASCII; it's not EBCDIC.


More information about the talk mailing list