Program Translation - Nov. 14, 2013
Roy Smith
roy at panix.com
Sun Nov 17 10:20:25 EST 2013
In article <xMydnRjrQ45fSBXPnZ2dnUVZ8mGdnZ2d at giganews.com>,
Henry Law <news at lawshouse.org> wrote:
> On 17/11/13 14:37, E.D.G. wrote:
> > All of my own important programs are written using Perl. I am starting
> > to run into calculation speed limitations with one of the programs.
>
> Your Perl code is, er, sub-optimal. There is absolutely no point in
> doing benchmarks until you've improved the code.
Having spent many years in science (molecular biology), I disagree with
this sentiment.
Scientists view computer programs as tools, no different from any other
piece of lab equipment or instrumentation they use. When picking a tool
to use, it's perfectly reasonable to evaluate what performance you can
get out of that without having to be an expert in its use. If I'm using
a spectrophotometer, there may be many things that instrument is capable
of doing, but as long as I'm getting the data I need from it, it's
serving my purpose. My goal is to do science, not to be an expert on
optics, or electronics, or data processing.
The same goes for programming languages. Most programs I've seen
written by scientists are horrible from a computer science point of
view, but they serve their purpose. A language which makes is easy for
a non-(computer)-expert to write decent programs is a good tool.
To get back to the original point, let's say I (as a computer expert) am
comparing two programming languages, L1 and L2. If I write a fully
optimized program in L1 and a piece of crap in L2, then try to say, "L1
is better than L2", that's a poor comparison. Until I've optimized my
L2 code, it is, as Henry says, pointless to try to compare them.
But, for a non-expert, it may be that while L2 is capable of computing a
solution in less time than L1, it takes a lot of expert knowledge to get
the L2 program to that state. For the limited amount of programming
expertise and time available, L1 may actually be better for this use
case.
More information about the Python-list
mailing list