New tools for morphological data management
tonyg at ARCHIVE.SBS.VUW.AC.NZ
Thu Sep 20 00:42:55 CEST 2001
Hi Steve, fellow listees...
Since I'm only an amateur biologist, but a professional computer
programmer, I thought I'd comment on a couple of technical issues here.
I won't comment on the biology-related issues - looks like the BioLink
team have a good clear idea of the things people want, and how to
achieve those goals.
>> Cross platform.
> This is a tough one. Ideally all software should run on all hardware
> but this is clearly not possible with the current computing paradigm.
> Java is a theoretical solution but hasn't worked in practice when
> competing with OS-specific programs. For the time being, we're sorry
> to say it's Windows-only.
I'd have to say that it clearly *is* possible with the current computing
paradigm (whatever that is :-) ). It's a red herring to say technical
issues are the problem, because these really are secondary.
Cross platform development of a scientific tool such as DELTA (and/or
its relatives) is not only possible, but *easy*. There is virtually no
difference between math libraries etc. as you move from platform to
platform. Stick to ANSI C or C++, and you have full portability.
There is a clear division between the part of the code that gets the
work done and the part that presents an interface to the user, though.
Now *user-interface* code can present slightly more of a challenge.
Depending on the platforms you've considered (and how "native", as
opposed to merely "acceptable in function and appearance" you require
your app to be), there are a few options available -
1. Qt - runs on Windows 9x and NT, *many* different Unixes, and
apparently also Mac. Is *very* easy to learn and to write and debug for
(I speak from personal experience here). Looks and feels almost
completely native on each platform. Costs about $1500 up front, ie. more
than MFC, but there are no runtime costs or royalties. See
2. wxWindows - runs on Windows, Mac, Motif and GTK. Essentially LGPLed,
and free (gratis and libre). I have not used this extensively, so can't
comment from personal experience. See http://www.wxwindows.org/.
3. FLTK - runs on Windows 9x and NT and various X windows systems. Not
Mac AFAIK, but it's LGPL'ed and free (both gratis and libre). Again,
I've not had much experience with this, just a quick play. See
>> DELTA and Intkey are relatively small, easily understood and
>> easily installed and used programs.
> Unfortunately we're not sure we can live up to this. There are very
> few development options if you want to make a program that can be run
> by copying a single EXE file onto your computer.
This is true. A single EXE doesn't admit the possibility of using DLLs,
and DLLs can make life much easier for the developer. However, so long
as you avoid putting DLLs anywhere else but in the application's
directory, and the application makes little or no use of the Windows
registry, you should end up with a program that can be "installed" by
copying a folderful of files.
Essentially, so long as you stick to basics and choose your
user-interface library carefully, code portability is a total non-issue.
DELTA and friends do nothing spectacularly computationally novel, so you
should be in luck implementing something similar in a portable manner.
More information about the delta-l