5 ms·
IBM i opened my eyes a bit, and made me a bit sad, when I decided to check it out after decades of working on what I now realize are entirely UNIX-y OSes. By th
by anyfoo 4y ago
IBM i opened my eyes a bit, and made me a bit sad, when I decided to check it out after decades of working on what I now realize are entirely UNIX-y OSes. By that I mean that besides the many actual UNIX-derived systems like Linux, Solaris, HP/UX, macOS I worked on, IBM i made me realize that DOS, Windows, OS/2, and whatever else most people are probably aware of nowadays, are also UNIX clones to a much higher degree than I thought.
IBM i is completely different in many ways. It has a unified 128bit address space. It does not have the same concept of a hierarchical filesystem (by default, you can bolt one on, but it clearly does not "fit"), and it does not even strongly have the concept of having everything in "streaming" files (or their equivalent) to begin with. It also has a completely different "command line" concept for example, and countless other aspects that are hard to explain succinctly.
It is a bit like learning Haskell, where it used to feel like you thought you could learn every language in an afternoon (after C, C++, Java, JS, Pascal, perl, python, awk, shells, BASIC, and countless others), but then discover you have to relearn the very basics, and that what you thought of as universal actually isn't.
A lot of these concepts work really well. They are at a level of abstraction that I would not have thought possible in practice. They allow the system to be incredibly stable and low maintenance, and elegant. The underlying architecture was changed at least once (maybe twice, not sure), and it was entirely seamless for customers.
It made me sad because I discovered a computing world that could be widespread reality, but in all likelihood won't be. That's thanks to UNIX being so pervasive that it's now basically woven into the very fabric of computing, but that is of course in no small part thanks to IBM's extreme closeness. I once thought UNIX was the way to go, but I'm not so sure anymore. And now that it's everywhere, too many of its concepts are considered a "ground truth". UNIX won because it was hard to avoid getting exposed to it, while for IBM i you had and still have to fight for even just trying it out.
Interestingly, the IBM mainframe world, i.e. z/OS and its predecessors, do feel the same in terms of "you have to relearn everything", but with the opposite outcome. Where IBM i is presenting you with unique abstractions from the very base of the OS, it's amazing how little abstraction there is in the mainframe world. You clearly get a sense that mainframes come from a time where a lot of common concepts simply had not been invented yet, while on the other hand IBM i (or rather its predecessors) reimagined OSes at a much later time.
- jacquesm 4y agoI've worked on old IBM systems (old by today's standards, back then they were top of the line), the 4381 to be specific, it ran very fast (the IO capabilities of those systems was quite impressive for the time and even today such a system would, besides it size be quite ok) compared to all of the UNIX machines I had played with but it wasn't elegant in the way that UNIX was, just tons and tons of little details to remember, whereas with the UNIX survival guide (about 15 commands) you could normally get through the day until you started to do crazy stuff. The IBM gear cam with absolutely amazing documentation though. "everything is a file" is brilliant, but UNIX didn't take that as far as it should have, Plan 9 is much further along that road and I would consider it to be even more elegant than UNIX. The way in which things work is just like you would expect them to work, including being able to compose stuff (for instance: in Plan 9 to run a new version of the window manager in a window in the old one) is what I really like about that particular system. Between Plan 9 and Erlang we missed a bus somewhere.
- anyfoo 4y agoBe careful though, IBM 4381 is an example of the mainframe world, so very much not similar to IBM i. It's s/370 compatible and ran OS/VS1 and VM/370. In terms of abstraction, almost the opposite in some sense, as I've noted in my last paragraph. In terms of usage as well: IBM i's command line model I also mentioned helps a lot in using the system even without external documentation (more than the UNIX shell does), which seems to be the opposite in the mainframe world.
- jacquesm 4y agoYes, that's true it is a completely different beast from IBM i. By the way, I'm not sure if you have just used these remote or virtualized or in person but they are quite impressive from a hardware perspective and built incredibly solid compared to almost everything else that I've worked with including VAXen from that era. We had two of them (cold spare...) maxed out Group 2 models. That's still 'only' 32 MB of RAM which may seem tiny by today's standards but that machine happily served a few hundred branch offices of a fairly major bank all by its lonesome, so that's 1000's of concurrent users (https://en.wikipedia.org/wiki/CICS https://en.wikipedia.org/wiki/CICS).