11 Dec 2001
(updated 9 Jan 2002 at 20:14 UTC) »
It's occurred to me - after a mere four years - that I've
spent much more time writing code for extracting propensity
tables and loop modelling than I have actually running it.
Since the output of the programs is what I'm really
interested in, it's obvious
that I should be trying to minimise the development time.
Using Perl or Python would certainly
reduce development times but at a cost in terms of
performance. However, if it saves a lot of development time,
this might actually offset the increased running time to the
extent of reducing the overall time to get results. And
there's always the option of using SWIG to drop down into C for
the heavy-lifting bits.
This of course still means having to write the
heavy-lifting bits in C or C++.
I really like functional languages: they let you write
high-level code and write it quickly, and then compile it
to get optimal performance.
The problem with functional
languages is that the paradigm
is very different to imperative programming so there might
be problems persuading coworkers that they're a good idea.
There's also the perennial problem of people not wanting to
use lesser-used languages that add little or no value to a CV.
I suspect I'm going to end up with a compromise solution
such as gcj-compiled
a language whose only selling point for me is that it
eliminates a lot of the complexity of
C++ (while also eliminating some of the good features of C++).