Carp of the Day

home | archives
"Indeed, the rage of theorists to make constitutions a vehicle for the conveyance of their own crude, and visionary aphorisms of government, requires to be guarded against with the most unceasing vigilance."
     -- Joseph Story
     Commentaries on the Constitution of the United States
     Book III, § 1857.

Saturday, August 30, 2003

Steven Den Beste on his recent attempt to upgrade CityDesk, and why he rolled it back.

As soon as I read the first paragraph of Joel Spolsky's response, I knew what was going to happen. For those of you who are not computer programmers, the word "legacy" is code for, "We want to do everything over, with all the very latest platforms and techniques and standards, and to hell with the system you've got now that works just fine. It doesn't matter, you poor simpleton, that what you have now amply suits your needs on the hardware you have. It doesn't matter, either, that what we want to give you interferes with the satisfaction of your needs while at the same time requiring enough additional memory, CPU strokes, and bandwidth to force you into a hardware upgrade. We are modern, do you hear, modern, and you're mired two whole years in the past!"

I'm in the middle of a project along these lines right now, and the word "legacy" drives me straight up the wall. Our current system runs on a mainframe, and it runs just fine, other than that sometimes our users manage to max out the available MIPS. We want to add capabilities to the system, and those capabilities, while fairly straightforward to implement in a relational-database context, would be very difficult to add in our own home-grown VSAM/BDAM environment. We want to make it cheaper for the users to run the system, and the sort of interface a mainframe provides would make that job more difficult. These are excellent reasons for converting the system over to a relational-database model. The simple fact, though, that the current system runs on a mainframe, is not. There's more processing power, and faster and more reliable data access, to be had from a mainframe than from anything the PC world has come up with yet. There's more operating-system stability to be had from MVS and CICS than anything Bill Gates has yet managed to publish. Intel cannot begin to touch IBM for hardware reliability. There are ample reasons for a redesign; the age of the current platform is not one of them.

It's worth pointing out, too: This rush to rewrite everything is pretty much Bill Gates' fault. If he could publish an OS with sufficient stability and security to run multiple third-party vendors' software without conflicts, we wouldn't have a drive on right now to shove everything out through a browser. And I can see, if one has a windows-based system (as I do), how a conversion to .NET architecture would be worth the effort, especially if one presumes that the system does not need to run on old equipment. Just because the PC world is broken, though, does not mean everything is broken.

But back to this CityDesk yahoo. The Web is full of HTML documents being dished up from all over the world, and the vast majority of data sources and users don't give a shit one way or the other if the document they're browsing meets the new XHTML standard or not. So here's Joel Spolsky: "But it's a standard, now! Don't you see? If we can't use Bill Gates' DOM objects to twiddle our documents, why, we'd have to do it ourselves! If we can't use ADO.NET datasets, we'd have to get in there with all the nuts and bolts and figure out what's really going on! We are object-oriented programmers, and we take our isolation seriously, dammit, so seriously that the slightest imputation that we ought to understand the internals of our systems is an unforgivable insult. Far better for us if we just plug widgets together, looking at what but not how, and if that results in a system that slows to a crawl performing the same function over and over again 120 times from different angles in the object hierarchy because the fourth-generation-language package we decided to use isn't smart enough to figure out once is enough, well, you're the one with the money, and you can just throw more of it at the hardware until it gets better. So: Bill Gates has decreed, XHTML is the new standard. You think it's too prolix? Tough titty. You ain't seen prolix until you've tried setting up an XSL transform. You don't know what that means? Then what makes you think your opinion is worth anything? The word has come down from the mountain, and that's the end of it. We're in the same boat as you, you see: We can either use the new tool being foisted upon us, and give up the flexibility we liked, or we can use the old tools and work harder. You think this is just your pain? We know just how you feel. Every two years sees a new platform out of Redmond, and it never works the same as the old way; we always have to break something to get it to work again. Billy-boy always breaks his promises about compatibility, backward and forward. And given the choice between facing all that pain ourselves, and passing it along to you, our paying customer, well, I'm afraid you're just going to have to suffer. Besides, you don't know what suffering is. Just yesterday, it seems, we were told, COM was the wave of the future, everyone had to convert, and then all would be plug-and-play bliss, one grand software orgy as far as the eye could see. Didn't work out that way, did it? We rewrote our little hearts out, only to discover, the supposed cure for DLL hell was worse than the disease. But we have a new promise, now. It's called .NET, and it's modern, and Billy says he won't ever break it, never-never-never, and, by gum, we believe him. So here's our new .NET-based software (and never mind that incompatible Version-1.1 .NET framework behind the curtain). Not quite what you were hoping for? Join the club, but fork over the bucks first, or we'll be forced to drag out the dreaded 'legacy' taunt."

UPDATE: I decided, just for the hell of it, to follow the link over to the CityDesk side of the discussion. Hmmm. In the fullness of time, I'll probably want to make my blog more professional, and that means taking it off of BlogSpot, hosting it somewhere else, and using different software to maintain it. Joel has convinced me, I won't be doing it with CityDesk.

(In case anyone's curious, the details in the above rant that I ascribed to Joel don't necessarily have anything to do with the 2.0 version of CityDesk. I made a guess that the actual source of the problem was CityDesk's reliance upon Microsoft's DOM object, and I find that confirmed over on Joel's -- well, "discussion board" doesn't quite cover it; it's more like he's granting audience, which is a marvellous way to present oneself to the customer -- so I included a crack at DOM. The rest is an amalgam of things I've run into myself on this, that, and the other project.)

-- posted by Clayton 8/30/2003 01:15:00 AM

Comments: 0

Post a Comment

<< Home




For the more forensically inclined