The problem with programming languages
- Michael Molloy
- Lecture , Programming
- April 4, 2022
As most Excel users don’t consider themselves to be Coders, then it should be of little surprise that any layperson to the world of programming may believe that coders don’t experience similar challenges to the ones Excel end-users face at the office.
The Churchill College Cambridge annual Computing lecture provides an excellent historic insight into the different challenges and battles within the field of computing. At one of them, Simon Peyton-Jones from Microsoft reminds the audience of a classic article by John Backus, IBM: “Can Programming be liberated from the Von Neumann style”?
It provides a picture of some of the troubles and challenges top computer scientists have with picking, choosing, maintaining or even going off to create their own languages. There are many similarities between coders and excel modellers. It reminds me of one time at Deutsche Bank: the trader, a future head of debt for Blackstone, in a bout of desperation, ran downstairs and told the junior modellers that he would shut himself in a room and –once and for all– rewrite their entire commercial real estate butchered legacy model they had been sending up to him to ‘help’ price his derivatives.
This ‘refresh’ event happens from time to time across many institutional organisations. Not perhaps with the same form of dramatic outburst, but certainly a growing and disturbing team realisation that years of legacy modelling and last-minute Analyst butchering now demands a proper review and clean-up. Even a proper audit if the cost centre can afford it. Either way – if the model is not fit for purpose, someone is usually tasked with the unenviable responsibility of rebuilding a new model to last for the foreseeable future.
It seems that this happens in the coding world as well. In fits of frustration, the human condition leads some coders to begin their own quest to create a programming language that combines the best of all previous languages, and strives to eliminate the roots of all their idiosyncratic evils in one fell swoop.
Even if you don’t read the whole article, do read the opening paragraphs on page 1. It gives a true sense of the fact that coders and Excel users are on a similar journey… trying to use machines in the most efficient way possible to get our jobs done. As they say, the job is never finished. And in the meantime, we must make do with the choices available for the next project in front of us.