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 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