Prof Darren Wilkinson Professor of Stochastic Modelling
School of Mathematics, Statistics and Physics
Newcastle University



This is my software page. Most of it relates in some way to my research interests in Bayesian computation.

All of my public and maintained code is now available from either Github or R-Forge - please check these first.

Please note that much of the code listed below is old, buggy and unmaintained! I continue to make it available, as some of it is still serves to illustrate how to go about writing scientific software. However, if you are interested in that topic, you might find following my blog to be easier than trawling through my old code...

You should note that I have accounts on R-Forge, Sourceforge, Google code, and Github, and that many of my more substantial and better maintained software projects can now be found on those repositories.

I've decided to split stuff up by language rather than by topic, which may seem a bit strange, but it makes more sense to me. Files ending .tgz are gzipped tar files, and can be unpacked on GNU/Linux systems with a command like tar xvfz foo.tgz. Note that some of these should be unpacked into an empty directory - do a tar tvfz foo.tgz first to check!


C isn't a particularly beautiful language, but it is very powerful and efficient, and its ubiquity makes it hard to ignore. When I write C, I generally write pure ANSI C. Most of my code relies on the GNU Scientific Library, which makes scientific computing in C much more practical. Because of its speed, C is my preferred language for developing MCMC-related code. I have a set of C links and a set of links for the GSL.


Java is now a reasonably good object-oriented programming language, with a huge standard library which greatly facilitates application development. It also has some reasonable scientific libraries, most notably COLT, parallel COLT and Apache Commons Math.


LISP-STAT is/was a wonderful environment for object-oriented interactive statistical computing, but its reliance on LISP means that it will only ever have a cult following. In fact, it seems to be slowly dying a death, due partly to the success of 'R'. I wouldn't now recommend LISP-STAT to people who aren't already familiar with it - 'R' is probably a safer bet, despite its faults. I have some LISP-STAT links which are a useful starting point.


Perl is a revolting but exceedingly useful language which is great for text processing and related activities. I have a few perl links.


Python is a wonderful object-oriented scripting language. I now use it instead of perl for doing things such as text processing, web/internet programming/CGI scripts, XML processing, database interfacing, GUI development, etc. It has a simple syntax (that many people refer to as "executable pseudo-code"), and is in fact a great language to learn to program with (especially object-oriented programming concepts). It isn't as fast as Java, but it is much quicker and easier to develop code in Python than it is in Java. Everyone should know Python! I have some python links.


R is a very good general purpose environment for statistical computing, with excellent graphical output and a huge range of libraries and packages. It is technically inferior to LISP-STAT in many ways, but its simple intuitive syntax means that it has a great following. R has now become the de facto standard environment for serious interactive statistical computing. I have some links for S, S-PLUS and R.


Sather was (in principle) an excellent programming language. It is now obsolete. It is a safe, efficient object-oriented language, well-suited for scientific computing, but only has a cult following, partly due to the fact that the only available compilers suck. In fact, sather too now seems to be dying a death - why is it that the best languages always get killed off by inferior competition?! My page of sather links provides plenty of information for the new user.


SBML (Systems Biology Markup Language) is not a conventional programming language, but an XML-based markup language for describing the biochemical network models that arise in Systems Biology. It is the closest thing to a standard in that area. I have some links for SBML and XML.

Darren J Wilkinson Book: Stochastic Modelling for
	      Systems Biology

Site design and content Copyright © 2008-2020, Darren Wilkinson