It's interesting that sometimes the biggest disasters aren't those that catch people by surprise; they're the ones that build up slowly and obviously, mesmerizing people who aren't swept up in them with the awful majesty of their approach.
Slow-moving winter storms, high-tech start-ups, hasty marriages. No matter how obvious the risk, people leap into situations they should stay out of, or they stay put when they should be hiding under a rock.
So it shouldn't really surprise anyone that Microsoft Corp.'s grand architectural scheme to pull together all of the Internet and enterprise applications under its .Net umbrella is gaining adherents - even among users who are normally skeptical of grand schemes.
After all, it's not a bad concept. Take a pile of existing Web standards and protocols, like XML, wrap up the most common object-oriented programming component models with a shared runtime to make it easier for them to interoperate, add in a couple of layers of middleware and pitch major pieces of the whole picture as open standards.
If it works, it would simplify the problem of how to automate a business-to-business relationship by using relatively simple Web technology to tightly integrate the complex computing environments of separate companies.
Right now, that problem is tough enough that even in sophisticated manufacturing sectors like aerospace and automotive, companies have to pick and choose which exchanges or one-on-one connections they can afford to build.
Unfortunately, simple is attractive but often doesn't work.
In the early '90s, for example, IBM Corp. tried a grand plan to standardize mainframe and client/server networking and application development using the Systems Network Architecture and AD/Cycle application development architecture.
Together, the two were supposed to mask the complexity of the Gordian knot that is the IT infrastructure at companies of any decent size. The plan was to help shorten development cycles and make applications easier to customize.
It was widely hyped. IBM had enormous power in the market. It still didn't work.
Still, most users who have talked to Computerworld about .Net are pretty optimistic - at least more so than about previous Microsoft architectures like ActiveX or Windows DNA.
They like that vendors other than Microsoft, including IBM and Web exchange leader Ariba Inc., are involved. And they like that Microsoft doesn't directly own core pieces like Simple Object Access Protocol, which it has proposed as a standard to the Internet Engineering Task Force.
But talk to users about anything but .Net, and they say they are uncomfortable about how tightly they are already wed to Microsoft. They don't like how it changes licensing requirements at whim, ships upgrades that aren't backward-compatible, puts off repairs to known flaws and treats Unix and other non-Microsoft products as "alien environments."
They also don't like that even federal courts don't seem able to limit Microsoft's power.
That's the ominous shadow hanging over this whole rosy picture.
If it works, .Net will tie corporations even more tightly to Microsoft than before. They will be dependent not only on Microsoft operating systems, applications and development tools, but also on the whole .Net framework, on top of which they'll have to build their own technology. Heavy .Net users will have to change something every time Microsoft twitches - just like every other Windows software developer.
If .Net works, and Microsoft doesn't recast it to better compete with some new threat, .Net could be the simple answer Microsoft promises.
Some marriages of convenience do work. Others are slow-motion train wrecks whose end won't be any less disastrous for having taken their time getting there.
Kevin Fogarty is Computerworld's features editor. Contacthim at firstname.lastname@example.org.