I'm going to be an EXTREME outlier here. Background: I learned computing on OS/360 thru MVS, first using cards, then TSO/ISPF. I jumped ship to Unix in the mid 80s and now I'm back on the mainframe, doing ports of open source software to z/OS (under USS) at Rocket Software.
I am logged into both USS (via ssh from PuTTY) and TSO/ISPF (via BlueZone) from a Windows laptop all day long. If I had a decent tool for accessing JES (there's no avoiding SDSF for the time being) from USS, I'd NEVER be in TSO. I use emacs as my development environment. I don't call it an "editor" because it does so much more than edit text. In particular, the "shell buffer" feature is indispensible; think of TSO session manager, but on insane steroids. The USS port of emacs is ancient and creaky (though I dearly hope we can remedy that within the next year), and I will grant that emacs has a very stiff learning curve, but once you know it, it's unbelievably productive. For source control, I use the Rocket port of git. Essentially all of our mainframe development is moving from other source control systems (SCLM, cvs, svn) to git; there are good open source tools for converting from cvs and svn that preserve all the history and branches. For builds, I use whatever the open source project I'm currently working on uses, which is generally some variation on automake/autoconf/configure/make. The automake/autoconf situation on z/OS isn't yet what it wants to be. For my own projects, I just use raw make. I often create make files that work on both USS and Linux on Z (my go-to Unix when I need to use a tool not yet on USS). In short: I treat z/OS as a Unix box. Nearly all of the compilers (COBOL, PL/I, C/C++, plus the assembler and binder) can be used from USS, on Unix files (no need to move source, maclibs, include files, etc. into a PDS). IBM has provided very good, albeit complex and tricky to use well, ASCII/EBCDIC "bimodal" encoding support to ease the encoding problem. IBM is actively porting newer languages (like JavaScript in node.js) to z/OS. I can run TSO commands from the shell prompt (using, of course, the "tsocmd" command...) when I need to. I keep building tools to help insulate me from TSO and batch (like my SMP query interface at https://github.com/zorts/smpapi), and of course Rocket continues to release new and updated tools for free (though our bandwidth is limited...). The big remaining hole is JES queue access. I can, of course, submit jobs from USS, but getting the output in a nice, consumable manner remains a challenge; hence, my TSO session. We have a cadre of younger developers who follow a similar path, though often using vim instead of emacs, and im some cases Windows-based editors (Eclipse, Webstorm, SlickEdit, etc.) and FTP. Bear in mind that my first "real" editor was ISPF, which I used for years. Even with that history, I can't imagine using it for any serious editing at this point. Slight diversion: Linux on Z is a VERY nice platform. I have rarely encountered any problems porting x86 Unix code to Linux on Z, and usually I don't have to; it's already a real, well-equipped Unix. Given hipersocket connectivity to z/OS, I think it's got potential to be a terrific alternative to USS. However, it's still just too weird for many shops: it requires a completely new set of system administration skills, its own LPAR or VM, and it just doesn't seem to getting much traction. -- Jerry ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
