Thursday, March 22, 2012

Astonishing Progress -vs- Progressive Astonishment

On the IBMVM discussion list, Tom Huegel complained about a change in the defaults in XEDIT in z/VM 6.2. "CASE U R" (upper case) is now "CASE M R" (mixed case). The change is long overdue ("progress", generally a positive, albeit slow in this case), but caught Tom by surprise ("astonishment", generally a negative).

Tom was complaining.
His complaint was carefully couched as a query. I can tell: I've done the same thing plenty of times! Many of us disagree (with Tom's complaint) and welcome this change. I personally say it is 30 years late. Shifting file content from mixed case to upper case should never have been the default. But Tom makes an important point: There is 40 years of history behind the upcase behaviour (rightly or wrongly).

Stability is vital. No argument there. Something called "the principle of least astonishment" is a related concept, where users get a form of stability in the behaviour of the systems and applications and services they use. Some might call that "consistency", but I prefer to use consistency to describe behaviour across APIs and environments at any point in time where here we're talking about consistent behaviour going through time. So we have these flying buttresses: progress and stability.

There is no easy way around this. You make a change, someone is likely to complain.

I remember when RedHat first bit me. (As they have done many times now.) Even in the mid 90s, I had formed a habit of compiling against old-but-stable libraries so to have executables with broad immediate usefulness. In Linux, the time came to shift from an older shared library environment to a newer. (This share libs shift itself has happened several times over the years.) So RedHat moved up to a new level, there was probably a compmatibility RPM but I was unaware, and my ready-to-run binaries were suddenly dead and unusable.

The change astonished me, caught me quite by surprise. You could even say they broke my stuff. For years I blamed RedHat. Lately, not so much. The change was needed and I have adapted.

What remains is to convince my friends in the z/VM community to support changes like the new "CASE M R" default in XEDIT without complaining. There is so much work to do and interoperability suffers. VMers could easily create their own PROFILE XEDIT, and do. But Chip Davis took a friendly swipe at the Linux crowd (CMS being painfully unfamiliar to them), and calls for the "CASE M R" change came most strongly from them. Actually, they suffered astonishment too, so the change which triggered astonishment in old VMer Tom gives relief to new VMers from Linux land.

Again, no easy solution.

There are other areas where progress is needed. Sometimes it can be had without astonishment (but may take effort). Seems like every week I find myself rebuffed by an "old school" VMer for adding Unix-like command syntax toleration. This is just one area, but one which I am keenly sensitive to (since I automate as much as I can with cross-platform scripting, so there's Unix-like syntax or there's nothing).

-- R; <><