Writing Understandable Computer Programs: the Benefits of Minimising State

Wednesday 4th May 2016, 6:30 pm.

Speaker: Keith Watson, Standard Life.

Venue: Room 4.31, University of Edinburgh Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB.

This event is free of charge and open to all. No registration required - just turn up.

Refreshments and networking from 6:00 pm.

This meeting is supported by NCR.


This talk is about an experience I had around ten years ago, developing an application for friends who run a popular Internet community. The application potentially needed to scale to cope with very high spikes in usage, as it was being referenced by the press. It also had to run on very cheap kit, because the community had no money.

This led me to develop an application in a “stateless” fashion, in order that the workload could be parallelised as much as possible, and this worked just fine; however, a much more interesting thing emerged: after at that time, twenty-five years of programming computers, I learned just how maintainable and understandable the application was (indeed, perhaps the first application I’ve ever written that I am able to go back to and understand easily!), and that this was a function of the statelessness.

The parallels with functional programming may be clear to those with experience in that area; however, most writing that attempts to explain the virtues of functional programming talk of ease of parallelising code and not a quality more considerably more important to a far wider community of developers; that of understandably and maintainability.

About the speaker


I hold a BSc (hons) Computer Science from the University of Edinburgh and have been working in the IT industry for over twenty years. I have been programming computers for thirty-six years since my father bought an Apple 2 computer he thought would help with his business. Since leaving university, I have worked in IT development for small, medium and large companies and am currently working for Standard Life in Lothian Road.

Edinburgh Branch site maintained by © Copyright BCS 2016 Legal and Privacy Notices  BCS is a registered charity: No 292786