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.