A Canadian Original

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 system (DBMS).

The promise of an English-like programming language to replace third generation languages such as COBOL (Common Ordinary Business Oriented Language) and make 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.”

This little piece of Canadian advance information management technology made its way around the world and became the informed choice of companies looking for a quick and inexpensive way to get their database management systems up and running.

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 were engineers who grew up in the 60s, they 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, to 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, Windows down to the lowly DOS operating system.

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 the 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 arms 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 on one standard for retrieving and updating information in computer databases.

Rather than look forward for standardization, the American military looked back, 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, followed the U.S. lead and adopted SQL as a standard for all federal departments.

The ZIM DBMS had its own query language and it wasn’t SQL. It was better! 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, using in ZIM you would make your request to the computer in the following manner:

Find authors where FirstName is “Bernard”


Find authors where FirstName = “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 chucks having implemented advance 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 inter-operability 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, the world is just now moving away from the relational to the hierarchical model. The advantage of this model being proven convincingly with the introduction of XML (eXtensible Markup Language), a new way of storing and exchanging information electronically, and its hierarchical.

The fact that ZIM was Canadian and was superior to anything else on the market  made no difference to the disciples of conventionality within the Canadian government.

The ZIM engineers would move quickly to make SQL a part of ZIM, but not fast enough for the bureaucrats who immediately labeled ZIM non-standard therefore outside the normal procurement process, giving ZIM's foreign competitors an overwhelming advantage which ZIM has not been able to overcome.

ZIM has outlasted its parent but for how long?

Well-known Canadian entrepreneur of Welch origins, Michael Cowpland has tried to breath new life into the Little Canadian Engine That Could but it is proving an uphill battle to save this last piece of world-class Canadian technology even as Canada's former leadership role in high technology is rapidly becoming an historical footnote.

July 23, 2004, rev. September 24, 2009.

Bernard Payeur

Tombstones to what might have been!