Shooting the Messenger

Till Death Do Us Part

The Butterfly Effect

Way back when Nortel was Bell Northern Research (BNR) and mini-computers were the information management workhorse, BNR created one of the first and best fourth-generation language and database management systems (DBMS). The promise of an English-like programming language to replace third-generation languages such as COBOL (Common Ordinary Business Oriented Language), making the building of information management systems easier, cheaper and faster, became a reality.

PC Magazine rated this fourth-generation language as one of the best, boasting about its feature-rich environment. Butler, a respected U.K. computer journal, said it was one of Canada’s best kept secrets, “a gem.” Unlike other attempts at building English-like computer programming languages (4th-GLs), which were rushed to market full of contradictions and bugs, BNR gave its engineers all the time they needed to get their 4th-GL right since it was initially meant as both a research project and for internal use only. When it was completed, engineers whose dedication meant that Canada was now a leader in 4th-GL technology, with BNR's blessing, made this elegant, powerful English-like programming language and its equally powerful and flexible database management component available worldwide.

Perhaps because they grew up in the 60s, the engineers called this little technological wonder ZIM, a name that obscured the fact that it was a serious language and a robust, industrial strength DBMS. ZIM was superior to its competitors, from Oracle to Microsoft SQL Server, SAP to IBM's DB2. ZIM was equally at ease running on a PC or the biggest mainframes from IBM. ZIM ran circles around its competitors on just about every mainstream operating system in existence at the time, including just about every flavour of UNIX, QNX, VAX VMS, IBM CMS, OS2, and Windows.

ZIM was also one of the first, if not the first, to incorporate what has now become ubiquitous in all DBMS development platforms: “a forms painter.” Chaos theory holds that a small event in one part of the world can have unforeseen and unpredictable consequences in another part of the world—the proverbial Peking butterfly’s wings flutter and lead to hurricane force winds off the Florida coast. For ZIM, it was the collision of two U.S. military helicopters over a desert in Iran on April 25, 1980 during the abortive attempt to free the U.S. hostages in Teheran.

An investigation into the cause of the disaster revealed that the computer systems of the various armed services participating in the rescue attempts could not communicate with each other. This last finding led to a whole series of initiatives by the U.S. military, including the standardization for retrieving and updating information in computer databases. Rather than looking forward for standardization, the American military looked back to a standard established almost 30 years before by the IBM Corporation, that standard being SQL or Structured Query Language (usually pronounced Sequel). In 1992, the Canadian Government, as it is prone to do, would follow the U.S. lead and adopt SQL as a standard for all federal departments.

The ZIM DBMS had its own query language and it wasn’t SQL. It was better! For example, if you wanted to find all authors whose first name is Bernard in a computer file containing the name of all the authors in Canada, you would make your request to the computer using ZIM in the following manner:

Find authors where FirstName is “Bernard”

Using SQL:

Select All from Authors where FirstName = “Bernard”

ZIM was not only more intuitive than SQL, being slightly more English-like, but underneath its eloquent, polite exterior was power incarnate. SQL handled data one record at a time, a waste of valuable processing time. ZIM handled data in large chunks, having implemented advanced mathematical set processing concepts within its DBMS. The fact that it was better, having been developed in part to compensate for SQL’s deficiencies, would make no difference. For purists and conformists, the ZIM DBMS was not relational, something that would not have been obvious to even the most sophisticated user and which had no impact on its interoperability with other databases.

The architecture of the ZIM DBMS was based on the hierarchal model (think of an organization chart), not on the old relational model, and was far ahead of its time. I won’t go into the details of why one is superior to other, but just to give you an indication of how the ZIM DBMS was ahead of its time: twenty years later, the world began moving from the relational to the hierarchical model, the advantage of this model having been proven convincingly with the introduction of XML (eXtensible Markup Language), a new way of storing and exchanging information electronically and hierarchically.

The fact that ZIM was Canadian, and superior to anything else on the market, made no difference to the disciples of conventionality. The ZIM engineers would move quickly to make SQL a part of ZIM, but not fast enough for the government, which labeled ZIM non-standard and therefore outside of the normal procurement process, giving reason for bureaucrats to dump ZIM in favour of its less capable, more expensive foreign competitors. Following that decision, there were no new customers to be had in Ottawa. Fortunately for me, Bell Canada, where ZIM was conceived, was not yet ready to abandon the little engine that could.