- BACK -

Unibase Logo
  

DMAC-SQL Survives Moving From C to C++ Client/Server

The Unibase by DMAC structured query interface (DMAC-SQL) has survived a major change in structure and programming languages. I report on this survival to give you all some insight into why programs arrive late and full of problems.

Seth Goes Modern

Seth Kurtzberg has maintained our DMAC-SQL product since the beginning. Last year we asked him to modify our interface so that the ODBC interface could access additional vendor products.

Seth tackled the project with gusto and delivered this summer a working version from his machine at home. It did not work here on DMAC's machine.

Surprise, C++ and Client / Server

One look at the code told us he had upgraded to C++ and at the same time completely split the code into the Client/Server approach.

Most of this past quarter, I have been working with this code trying to understand it and make it run on more than the particular compiler upon which it was developed.

More than ever, I am now convinced we will hold back the C++ release of Unibase by DMAC until ANSI C++ certification is released and compilers meet this requirement. The three compilers used on the various machines for testing DMAC-SQL each treated polymorphism differently.

Spaghetti Code Appears

As a result, for one period of time, I was saying that our new C++ DMAC-SQL produces spaghetti code. Changing only one definition reduced the spaghetti code to nice straight code -- with one compiler but not the other. Different definitions had to be used with each compiler. Needless to say we had to change all that code so that it would work correctly regardless of the compiler.

Now it works the same way on all three compilers. Maybe it is not as elegant as it was but it works correctly. Most new code today is written in C++ using object orientation. If our experiences with DMAC-SQL hold true, then standard ANSI C++ certification (scheduled for 1997) is a must for open systems to survive. We owe a great debt to those who developed the standards for C and now C++. I am told it is Bjarne Stroustrup who has spearheaded the effort to standardize both of the languages.

Open Systems Are a Must

As we go into the next century, I think we must continue to support the idea of competition within open systems. Open systems means standards mutually agreed upon.