6 ms·
Hello World on z/OS (2018)
- rotis 2y agoMirrors my experiences with z/OS. One thing I distinctly remember was when I tried to write JCL to move some datasets. Took me 2 days reading documentation and trying out things. Finally I just gave up. It is not fun when you have noone to help and Google isn't very helpful. If you think Unix tools have no consistency, try JCL and z/OS. Considering how alien JCL is and magic incantations I invoked with it, I'm convinced that there is Cthulhu in the mainframe machine. Still, I'm quite proud I manage to write some JCL which saved us potentially days of manual work. Other things I remember from that time was that passwords were only 8 characters long and case insensitive. My guess is z/OS is secure only by its obscurity. Though maybe this was just our installation. No idea until today.
- skissane 2y ago> Other things I remember from that time was that passwords were only 8 characters long and case insensitive. My guess is z/OS is secure only by its obscurity. Though maybe this was just our installation. No idea until today. Everybody nowadays uses a security add-on product with z/OS - most commonly IBM’s RACF, although some people use Broadcom (formerly CA)’s ACF2 or TopSecret instead. RACF allows a user to have either a “password” or a “pass phrase” or both or neither. For legacy reasons, a “password” indeed can be max 8 characters case-insensitive, but a “pass phrase” can be up to 100 characters and case-sensitive. And it also supports non-password based authentication mechanisms, including client certificates, smart cards, multi-factor auth, passtickets… some of that stuff is relatively new, but it isn’t all new. The bigger problem is you can offer all these more modern security features, but you can’t force customers to adopt them, especially when that adoption isn’t free (putting aside additional licensing costs for some of these features, there is also the person-time to configure it, test it, roll it out, etc)
- jareds 2y agoI was using the Mainframe as an intern. Working in a Mainframe company it still took me three months to be able to write JCL from scratch with out needing help. It was a constant struggle until one day a switch flipped and I just understood the basics. I've never had another programming experience where I've gone from struggling to comfortable so quickly.
- cess11 2y agoFrom afar it seems easier than ever to learn mainframe. IBM has free courses on z/OS these days (besides the registration) and there are lots of PDF:s hidden away in blog posts and whatnot on their site. Coursera has some courses too.
- Muromec 2y agoSomebody has to kepp the lights on for stuff that is still out there running on cobol when the current generation retires. Its already a bit of problem with tryung to port it over, as nobody can read it
- cess11 2y agoAll over the world new COBOL developers are made every day. Typically they aren't specifically COBOL developers, they also have background in Java, C# or C++. It's common in institutions that rely on COBOL to have toolchains that generate code for both mainframe and regular applications or SDK:s. In many places it's no longer locked in with greybearded warlocks.
- neverartful 2y agoFor being a user of the mainframe that may be true. For being a systems programmer for the mainframe not true.
- cess11 2y agoWhen I looked into it they offered education in JCL and networking and stuff.
- neverartful 2y agoReading about z/OS systems programming is one thing. Being able to practice with it on a real system is what would likely be missing. You have to have a safe environment to learn on and it's hard to get access to those.
- pavlov 2y ago> “There I just saved you a lot of time and aggravation. What IBM calls ‘data sets’ virtually every other OS on the planet calls files and directories.” I understand the author’s pain, but sometimes the “I’ll just google things based on my existing assumptions” approach fails. Imagine trying to learn SQL like this. You google for “how to create file in SQL” and later you conclude: “For some crazy reason files are called rows in SQL!” — In other words, the basic assumptions just don’t map, and you’d be better off reading the manual. Even files aren’t quite as ubiquitous as it seems. Apple iOS didn’t offer a user-visible file system until 2017. The Unix file APIs work in a sandbox, but they’re not recommended.
- Koshkin 2y ago>> every other OS on the planet calls files and directories I think it is a useful distinction, the one between a file and a data set. In one case the OS is kept unaware of the logical structure of a file, while the user does not need to know about its physical arrangement; in the other case, things are almost exactly the other way around.
- ThinkBeat 2y agoThe IBM mainframe branch of evolution is different from UNIX and Windows. It is unfamiliar for most. I know the first time I sat down with a terminal to a UNIX machine I found it hostile, unintuitive and perplexing. vi is not easy to use when you know nothing about it to begin with. Yes I fly on UNIX after a few decades but I sill remember my first introduction. z/OS (which is also, but far from only UNIX¹), came out in 2000 and is far more than this article lets on. z/OS supports backwards compatability CICS, COBOL, IMS, PL/I, IBM Db2, RACF, SNA, IBM MQ, REXX, CLIST, SMP/E, JCL, TSO/E, and ISPF, among others. z/OS also ships with a 64-bit Java runtime, C/C++ compiler based on the LLVM open-source Clang infrastructure, z/OS can communicate directly via TCP/IP, including IPv6,[5] and includes standard HTTP servers (one from Lotus, the other Apache-derived) along with other common services such as SSH, FTP, NFS, and CIFS/SMB. ¹ UNIX (Single UNIX Specification) APIs and applications through UNIX System Services – The Open Group certifies z/OS as a compliant UNIX operating system – with UNIX/Linux-style hierarchical file systems.
- sillywalk 2y agoPrevious discussion: 199 points by pjmlp on July 31, 2018 | hide | past | favorite | 121 comments https://news.ycombinator.com/item?id=17642846 https://news.ycombinator.com/item?id=17642846
- thrtythreeforty 2y agoThis is a great missing manual for z/OS tinkering (in the past I have also given up at the login prompt as the author said). Can someone sort of "steel man" this z/OS workflow? e.g. correct noob problems and explain why creating a file takes a page of options? As it is, if this is actually the way to get started, I'm seeing no compelling reason for a developer to bother to learn or use z/OS. And I know you could say "well Linux is just as complicated." And maybe that's true, but I can also freely download it and learn it, whereas IBM seems to be making no effort to bring z/OS to the public, so why bother chasing it?
- TacticalCoder 2y ago> I'm seeing no compelling reason for a developer to bother to learn or use z/OS. I agree. > And I know you could say "well Linux is just as complicated." I've written COBOL on z/OS in the past (nineties). There's still COBOL used today. But there's a reason none of Google, Amazon, NVidia, Tesla, Meta, Netflix, etc. were built on mainframes zOS / COBOL / JCL / etc. Yet billions (tens of billions?) of devices are running on Linux today. So saying "well Linux is just as complicated" would be actually quite stupid. Something could be say too about the virtualization / containerization of all the things and ask how many VMs, containers and hypervisors are using Linux. So, complicated or not, it actually makes sense to learn how to use Linux.
- js8 2y ago> But there's a reason none of Google, Amazon, NVidia, Tesla, Meta, Netflix, etc. were built on mainframes zOS / COBOL / JCL / etc. The main reason is that Linux is free of charge, and that Unix happened to be more used in academia. It has little to do with underlying technology. > So saying "well Linux is just as complicated" would be actually quite stupid. It is just as complicated, if you are looking at feature parity. Maybe there is less historical baggage but that comes with complications as well (think of the grumbles about systemd).
- Kwpolska 2y agoName one business started this century that uses mainframes. If there were any compelling reasons to use them in the modern times, there would certainly be some companies using it. Mainframes are legacy cruft used by businesses that had them decades ago and are too cheap or entrenched to modernize their systems.
- wrs 2y agoBear in mind that IBM has been making computers — and terminology — since the 1950s. They invented hard drives. So it seems wrong to say their terminology has “diverged”…from what? IBM terminals like the 3270 operate almost like a web browser, with form fields implemented by the terminal. The computer sends a page of text, you use the terminal to edit it, and you submit data back. That’s why you have to move around the screen to type things in the right place, and thus why the editor has “line commands”.
- ataylor284_ 2y agoThere were no words for this stuff. People just made it up, and it took years for something to emerge as the de facto standard term for a collection of data persistently stored. There's an interesting parallel with the emacs editor. Operations we now universally call "Cut" and "Paste" are "Kill" and "Yank". The better terms won out and emacs is stuck with Ctrl-K and Ctrl-Y as not-so-intuitive mnemonics for cut and paste.
- toast0 2y agoAh, the good old mnemonic shortcuts for Zundo, Xcut, Copy(!) or maybe Cancel, Vpaste Much more memorable compared to Kcut (Kut?) and Ypaste. :p
- tarlinian 2y agoI think the "X" looks like a pair of scissors. No good explanation for ZUndo though.
- deleted 2y ago[deleted]
- tiberious726 2y agoBetter? Kill-yank semantics give you a full kill-ring, that's what your yanking from. CUA gives you a single copy-slot.
- donatj 2y agoRecently saw an AS/400 on Facebook Marketplace. I was very tempted to pick it up, but I am trying to reduce AND knew dang well I would have no idea how to interact with the thing. I recall in about 2009 working on a project where the clients inventory system ran on an AS/400 and I knew literally nothing about IBM mainframes at the time. All we wanted was them to publish a simple JSON API we could poll hourly to update the front end we were building. In a conference call with umpteen of their engineers, they basically told us that was impossible. I thought this was ridiculous, but they were insistent. Their counter proposal was that they would automate emailing us updates and we could parse and process those. I still have no clue how that could be easier for them but it sure would have been more work and infrastructure for us! Eventually after literally weeks of back and forth they finalized landed on letting us use FTP to read hundreds of XML files they would generate nightly. They were often mildly malformed/improperly encoded. It was simpler to deal with that than ask them to fix it. It was not a very fun project, but a major learning experience looking back. I was a young hotshot who had only recently been promoted to lead developer, and having to interact with these people who clearly thought I was dumb for not knowing anything about IBM mainframes certainly knocked me down a peg. Kind of humbling to see you don't know what you don't know once in a while.
- omnibrain 2y ago> the clients inventory system ran on an AS/400 and I knew literally nothing about IBM mainframes I'm going to be "that guy": The AS/400 (nowadays System i) is not a mainframe but the last standing member of the family of midrange (outside of IBM called minicomputer) systems. (NonStop and OpenVMS - and probably something else I don't know about - are still somewhat around, but nowadays they run on more or less microcomputer systems).
- tiberious726 2y agoWith 128 bit pointers encoding security and providence information. And a unified memory space, no files, just addresses with RAM as a cache for persistent disks. Might as well be from 2080.
- sillywalk 2y ago