In article <19FEB199313562656 at seqvax.caltech.edu>, mathog at seqvax.caltech.edu (David Mathog) writes:
|>|> 3. GUI's and TCP/IP socket libraries are absolutely the biggest killers of
|> compatibility. Let's start with GUI's: it needs X, oh, not just any X,
...
|>|> TCP/IP socket libraries aren't quite so bad, but they're still trouble.
|> On VMS it seems that the calls must be specifically rewritten for TGV,
|> Wollongong,UCX, from the Unix, and from each other. I don't know if this
|> is a problem between different vendors' Unix's, but I doubt it.
|>...
|> A. Write case insensitive command line programs.
|> B. If it's not part of the language standard, leave it out of the program.
|> C. Whenever possible use plain ASCII data files.
|> D. Provide test files.
|> E. WRITE DOCUMENTATION!
|>...
I write TCP/IP (and DECnet) task-to-task communication programs for years now,
and cannot confirm that compatibility of software libraries is an issue if the
DESIGN is right. If you cleanly separate the layers, encapsulate system calls
in OS-specific macros, and write the specs first, then the documentation, then
the test cases, and last the actual coding, you are pretty good. Binaries can easily
be written to be OS-transparent, if you know them all. We currently support 4
programming languages on 6 operating systems, and it doesn't seem to me that the
code is the big problem.
Regards
Reinhard
--
+----------------------------------+-------------------------------------+
| Dr. Reinhard Doelz | RFC doelz at urz.unibas.ch |
| Biocomputing | DECNET 20579::48130::doelz |
|Biozentrum der Universitaet | X25 022846211142036::doelz |
| Klingelbergstrasse 70 | FAX x41 61 261- 6760 or 267- 2078
| CH 4056 Basel | TEL x41 61 267- 2076 or 2247 |
+------------- bioftp.unibas.ch is the SWISS EMBnet node ----------------+
-----------------------------------------