DELTA source code - correction

Trevor Whiffin t.whiffin at LATROBE.EDU.AU
Thu May 13 06:36:16 CEST 2004


> Frankly, I fail to see why do you insist to much in saying that your 
> programs should "make calls to the Windows API"! Why should such calls 
> be necessary?
>
> Try the excelent Borland C++Builder (that also comes in a free 
> personal edition, www.borland.com) and you will be able to easily 
> write full-powered GUI applications that run under Windows and Linux 
> with a single re-compile at each targeted platform.

Dear Mauro

As I am sure you are aware, your program will call the Windows API 
whether you code the call directly or indirectly. I prefer to write code 
that call the Windows API directly. This code is more transportable 
(between compilers and between versions of Windows), is easier to 
maintain, and produces tighter, faster and smaller executables. It also 
gives me much greater control of how the program looks and works. I am 
not constrained in any way by what the compiler manufacturer considers 
"normal". Nor am I necessarily constrained by what Microsoft Windows 
considers "normal". However, that is the way that I prefer to code, and 
I have no wish to impose my preference on others.

All C/C++ compilers (as far as I am aware) allow direct calls from a C 
program to the Windows API. All (again as far as I am aware) also 
provide a series of libraries, a framework, or some other form of 
interface between the program code and the Windows API. The program 
calls the interface, and the interface calls the Windows API. This can 
make for easier programming as it requires less knowledge of the Windows 
API. However, the interface will be "proprietary" to the compiler 
manufacturer, and therefore the code will be less transportable between 
different compilers.

-From what I understand, this may be the problem with the current CSIRO 
programs. They were written and compiled with a compiler that used a 
proprietary object library as the interface between the program code and 
the Windows API. The compiler and library are now out of date. Without 
knowing the details, however, I would have thought that this version of 
the compiler will be available somewhere, and that in any case there 
should be an upgrade path (unless the manufacturer has gone out of 
business).

The very first computer-based version of the rain forest key included 
both an MSDOS version and a Macintosh version (yes, it was that long ago 
that it was an MSDOS version!). The two programs were entirely separate, 
and there was little code in common. I made the decision with the second 
version to move to Windows only, as I did not have the time or resources 
to maintain two separate versions.

Without getting into an argument over semantics, I am not aware of a 
truly multi-platform development environment with fully functional 
graphical display on three or more platforms. As a minimum, I would 
expect a "write-once / compile separately" system for at least Windows, 
Macintosh and Unix. That is, there would be a functionally identical 
framework / interface for each of the operating platforms. The Borland 
compiler that you reference seems to handle only two of these platforms.

Cheers

Trevor

Trevor Whiffin
Department of Botany
La Trobe University

phone  +61 3 9479 2274
fax  +61 3 9479 1188

http://www.latrobe.edu.au/botany



More information about the delta-l mailing list