3 ms·
I do mainframes (I manipulate SMF data and other performance data, for those in the know) and I think there are many interesting problems in the domain of busin
by js8 6y ago
I do mainframes (I manipulate SMF data and other performance data, for those in the know) and I think there are many interesting problems in the domain of business applications, actually.
One is data integration. Hopefully, https://www.categoricaldata.net/ https://www.categoricaldata.net/ will make a dent into this.
Another is RAD. Modern trend is to use Turing-complete languages such as Java, while in the past, a mix of application-oriented languages (COBOL on the MF) and system-oriented languages (assembler on the MF) was used.
I think there is some value in having a high-level language that is more domain specific for certain applications. For example like SAS, but SAS is old. Yet I don't see anything (at least anything open source or popular enough) that would be able to replace it. SQL can do some things, but it is also getting a bit old.
I will not comment much on the "modern" thing, I think the hardware is actually plenty modern (for example, IIRC z/Series processors were the first that had hardware transactional memory, and they have amazing hardware tracing capabilities), and as far as the software - I find that the older software is usually more performant, for whatever reason. There is also difference between Unix and mainframe philosophy about how to approach stuff (Unix is more permissive, mainframe is more tight), which I think has its merits as well.
- posix_me_less 6y ago> Unix is more permissive, mainframe is more tight That sounds interesting, any examples? The usual complaint about Unix is lack of fine-grain control over filesystem, but in practice this does not seem to be a problem, there are ACLs, selinux, etc. Is the situation better on mainframes?
- js8 6y agoYes, in general security is controlled through ACLs on the mainframe. Execution of system programs is also limited. But I think it goes deeper, basically lots of resources are limited or require additional security access, so if something fails, the damage it can cause (due to overuse of resources) is limited. I don't know if there is anything you can't do on Linux, except perhaps pervasive encryption, which allows to have some file operations (such as backups) running on encrypted files that the user (under which the backup or restore is running) cannot read. There are also some really old things that would be considered unsafe today, but IBM is gradually fixing and deprecating them. This is pretty much because historically, z/OS was quite customizable, and lot of user space programs (utilities and middleware, not applications) had pretty intimate hooks into the operating system. Also the auditing (not only in security) is excellent. The visibility into what the mainframe system is doing is unmatched on any other platform, I think.
- p_l 6y agoEven today z/OS has a lot of "exits" that are, literally, addresses in system binaries where you can place address to your own routine (which is linked directly to the OS) which will get called if system does a certain action. Anyone who spent more time with emulating MVS (and possibly with weird accent emulating z/OS ;) ) probably encountered things like the assembly routine that you can link into every MVS version since 3.8 (all the way to recent z/OS) which hijacks tape mount requests before they are sent to operator, enabling you to connect whatever kind of tape-switching you want - in this case, doing special Hercules magic to change the tape image based on one of the parameters.