[r-t] Writing method display software
dfm at ringing.org
Mon Nov 30 14:35:15 UTC 2015
On Sat, Nov 28, 2015 at 4:12 PM Alexander Holroyd <holroyd at math.ubc.ca>
> I'm interested to learn what programming languages people are using
> for ringing software, and (more imporantly) why.
I doubt that the relation between the programming language and the
particular domain is all that important (within reason; writing ringing
software in COBOL or AWK probably doesn't make a whole lot of sense).
Rather it is whatever the programmer can most effectively use, which has
more to do with background, temperament and fashion.
As with most problems, most parts of most ringing problems are not
performance intensive; it's typically just a few inner loops that are,
though in many ringing problems, particularly involving search, they can be
exceedingly sensitive to performance, albeit performance getting at memory
rather than arithmetic. But most realistic languages have ways of tuning
such things. For example, in the standard Python implementation there is
strong support, and plenty of precedent, for escaping to C, or even
assembly language, for inner loops and the like.
For what little it's worth, most of my own current work is done in Lisp
(I've used various other languages at times in the past). A few years ago I
did a little search benchmark (I implemented a simple, dumb depth first
search for doubles extents in a variety of languages and implementations),
and concluded that SBCL's compiler would compile Lisp code, wrapped with a
few appropriate declarations so it would know the types of things in the
inner loop at compile time, such that it is about as fast as I was getting
with C; the compilers of several other Lisp implementations weren't much
worse. For me, Lisp is a particularly congenial environment as I find it
easy to quickly create and modify things; it has, in large part because of
its absence of syntax, good support for creating new abstractions; and it
is particularly easy to debug. But I know I am in the minority in having
the background and temperament to believe it has these properties; and my
fashion sense is obviously quite dated (like Fortran, Lisp's roots are in
the 1950s; and you don't want to see how I dress).
Don Morrison <dfm at ringing.org>
"One of us recalls...being told by his computer center's programming
consultant that he had misused the random number generator: 'We
guarantee that each number is random individually, but we don't
guarantee that more than one of them is random.'"
-- William H Press, et al., _Numerical Recipes in Fortran 77_
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ringing-theory