Code

Compiling a program is a strange thing to do

Following my previous post about functional languages, a suspicious reader asked about the list of prerequisites I gave for a language: purely functional, Hindley-Milner typing, compiling to JVM bytecode, blah blah blah. Was that list genuine—or was I by any chance just listing the properties of a language I'd stumbled over at random and decided… Continue reading Compiling a program is a strange thing to do

Code

Functional programming and the joy of learning something again

Twenty years ago, as a maths-and-computing undergraduate at the university of Bath, I was introduced to functional programming using the ML language by the excellent Julian Padget. We undergrads were set the traditional assignment of writing a sed-like text processor in ML, and found it first baffling and then, if we were lucky, rather exciting.… Continue reading Functional programming and the joy of learning something again

Academics · Code · Flat Things

Can you develop research software on an iPad?

I've just written up a blog article for the Software Sustainability Institute about research software development in a "post-PC" world. (Also available on my project's own site.) Apart from using the terms "post-PC", "touch tablet", "app store", and "cloud" a disgracefully large number of times, this article sets out a problem that's been puzzling me… Continue reading Can you develop research software on an iPad?

Code

How Much Legacy Code Have You Written This Week?

I recently bought a copy (based on a recommendation) of Michael Feathers’ 2005 book Working Effectively with Legacy Code. This excellent technical book is largely a compendium of refactoring strategies to help software developers insinuate unit tests into existing code. What I found most striking, though, is a position stated right at the start of… Continue reading How Much Legacy Code Have You Written This Week?