Subject Re: [IB-Architect] InterBase source languages
Author Bill Karwin
I would add to this:
o InterClient is written in 100% Java
o InterServer is written in 100% C++ ;-)
o IBConsole is written in Delphi 5 using the IBX components

Any other pieces that we're missing? The Merant ODBC driver is moot because
I assume it's not going open source.

> Straight C: Engine is 100% vanilla C. Assumes ANSI_PROTOTYPES available.
> 90% of the code base had #ifndef _ANSI_PROTOTYPES_ so it
> compile under a generic K&R C compiler.
> (This was as of April 1999)

I think Ann or Paul said that they're ripping out all the #ifndef
_ANSI_PROTOTYPES_ sections because one can assume that any modern C compiler
understands prototypes. The conditional function declarations adds a
significant amount of clutter to the code, hindering readability (not to
mention increasing ongoing maintenance).

> The engine also has some sections written in Embedded [GDML] (InterBase's
> language prior to SQL).

It should be made clear to folks who don't know gpre that this means GDML
laced in C code. So you run gpre on a .e file, gpre produces from that a .c
file, and then you compile the .c file.

> There are some ancillary files and examples of embedded use for GPre in
> C, C++, Fortran, Pascal, PL/C, Basic, Cobol, Ada.

Some of these could probably be the subject for discussion regarding
trimming these from the product. I don't think there are a noticable number
of people using gpre and Fortran, Pascal (that is, not Delphi), PL/C, BASIC,
Cobol or Ada. Most customers I have heard from who use any of these
languages are using InterBase API directly, not preprocessed GDML or SQL
through gpre.

> I think the install program uses InstallShield.

I believe starting with V5.6 (maybe V5.5, I forget) the install program does
not use InstallShield. It uses Delphi 4 and the InterBase Install API.
Note that it uses the Install API Pascal entry points, _not_ the IBX
components for Install API.

Bill Karwin