Students Staff

Honorary Graduates

Orations and responses

Response by Professor Robin Milner

Chancellor, Vice Chancellor, fellow graduates and ladies and gentlemen:  first of all I am deeply honoured by the degree that you have conferred upon me.  I am a computer scientist and not many people really know, despite what the Orator has told us, what that means.

Fifty years ago it was even simpler.  Most people didn’t know that computing existed, at least in the sense that you could get a machine to do it for you.  Well nowadays we all have machines computing for us.  The computer manages our game playing, searching for things on the Internet, e-mailing.   There are little bits of computing in our washing machines, in the hole in the wall at the bank and in the brakes of our car, in what guides our aeroplanes landing and so on.  Making of course everything go smoothly.

But most of us don’t know what computer science consists of.  That’s not unusual.  Most people don’t know much about electrical engineering either or about hydrodynamics.  They are happy to leave this knowledge to other people because they know that the underlying science has been properly worked out.  Well of course, we make mistakes in building nuclear reactors or millennium bridges.  We are only human.  Usually the mistakes are because the underlying science hasn’t been properly applied.  We can’t ever avoid mistakes completely. 

Well the difference with computer science is not that ordinary people don’t know what it is, but we, the professionals, don’t really know either.  I say this because it can seem very impressive when people talk about what you do know.  Of course, we have built wonderful computing systems on which people can safely depend.  We have built other systems that have let them down.  The technology in the industry of computing has developed and mushroomed at a pace, which is absolutely unprecedented.  It has outstripped our ability to deliver new concepts and methods that will help us fully to understand what we build.  It is easy to prove this. Did you know that 80% to 90% of the time spent by software engineers is spent in patching, or as its called, re-engineering,  tens of millions of lines of existing computer code to change or adapt its function ?  They dare not throw it away or rebuild.  There isn’t time.  This is the market force at work.  They cannot even throw away some of it and rebuild that.  The other bits may depend on the bits which  they might throw away in unexpected ways, thanks to the people who modified the same system last time. 

Another proof of our ignorance.  Doesn’t it strike you as odd that we cannot stop computer viruses getting in?  After all these viruses are only naughts and ones like all other software.  We cannot make the excuse that they seep in from the ground in wet weather; as one might say when a bridge sways that the wind is freakish or that Londoners are walking on it in a funny way.  The fact is that software is so cheap and so useful that we have been pre-occupied with producing masses of it and using it.  This is the market force at work. 

Of course the adventure of the information age is stunning.  There are amazing achievements for all to see.  With hindsight I don’t see how the development could possibly have waited for proper scientific and engineering standards to develop.  But we would like them to catch up sometime.  It’s not that we haven’t begun to develop better ways of understanding computer software.  A student of mine won a contract with IBM for tackling the year 2000 bug which of course we have more or less forgotten about.  He designed the software tool that could crawl around those massive ancient computer programmes which are still running and he applied our theory, in fact, type inference, which was known twenty years ago, to find places where this software would go wrong.  I’m glad to say that this same student is now president of the new IT University in Denmark. 

Coming now to our universities we clearly have an enormous responsibility to set computing on the right track.  You people who leave here to join the computing profession will find that most of the things that you have learnt are out of date in five years.  That’s not the fault of this department or this university. In good universities like this one we always aim to teach ideas and methods which are fundamental and will survive rapid changes in technology. Its those ideas which we hope will persist with you. Its not the methodologies, the languages  and so on which are in current use.  We are devoted to these foundations both for our science and for its engineering application but we sometimes have to fight off well meaning encouragement from professional bodies to teach some make shift short-lived methodology.

In research too university computing departments have to strike a balance.  We have to get close to the software industry because only they confront the massive problems of size, maintenance and change, which exert the strongest demands on our subject.  But only we can stand back and study foundational problems which industry can’t tackle because of market pressure.  And that’s the only way to reverse the trend towards ever greater piles of inscrutable software and in fact to put it more positively to founding a science on which our future engineering actually does depend.

The worlds software is probably more complex than the human gene.  If we have built something that is bigger than ourselves then we had better try and keep a hold on it.  In all of this, both for the computer industry and for academic departments there is a huge an exciting challenge. 

I would like to end by wishing everyone who is just starting out on this great journey, the greatest success in meeting these challenges.  Thank you.