What Should Be Automated?
Matti Tedre
Tumaini University | matti.tedre@tumaini.ac.tz
One of the most influential figures in the early development
of computer science, George
Forsythe, argued in 1968 that
“the question ‘What can be
automated?’ is one of the most
inspiring philosophical and practical questions of contemporary
civilization [ 1].” Almost 20 years
later, Peter Denning wrote that
computer science is “the body
of knowledge dealing with the
design, analysis, implementation, efficiency, and application
of processes that transform
information” and suggested that
“What can be automated?” is the
fundamental question underlying all of computing [ 2]. That
question emphasizes the very
foundations of computing as a
discipline—it asks, in a very general way, what in principle can
be automated with any kind of
machinery. Later Denning et al.
[ 3] refined the question to “What
can be (efficiently) automated?”
Although the discipline of computing has diversified greatly
since 1968, this “fundamental
question” has rarely been challenged.
In addition to that one fundamental question, Denning
listed 11 topic areas of computing and outlined a number of
fundamental questions asked
in each topic area [ 2]. In the
end Denning had 50 questions
altogether. However, in 19 of the
50 fundamental questions that
Denning mentioned, the question deals with how instead of
what. Denning’s 50 fundamental
questions include questions such
as: “How can large databases
be protected from inconsistencies generated by simultaneous
access…?” “How can the fact
that a system is made of components be hidden from users who
do not wish to see that level of
detail?” and “What basic models
of intelligence are there, and
how do we build machines that
simulate them [ 2]?”
The theoretical question
“What can be automated?” is the
central question in computability theory, which studies what
in principle can be computed
with any kind of machinery. The
theoretical question “What can
be efficiently automated?” is one
of the central questions in computational complexity theory,
which studies the amount of
resources, such as time and storage, that it takes to solve different kinds of computational problems. Researchers in those fields
often are indifferent about the
specific technologies that might
be used to automate processes.
Many computing researchers do
not, however, stop at theories
about automation, but their work
includes implementing systems
that automate various things.
“How can one automate things
efficiently and reliably?” is the
crucial issue for practically oriented computing researchers [ 1,
3, 4]. Although scientifically and
practically oriented researchers
have different aims from theoretically oriented researchers,
the theoretical questions about
limits of computing are fundamental to empirical research
on computation and computers,
and crucial to the design and
implementation of computing
systems.
Answers to questions that ask
what are different from answers
to questions that ask how.
Generally speaking, theoretical
and empirical scientists tend to
ask what and why, and engineers
tend to ask how. The theoretician’s questions—what can be
automated? and what can be
efficiently automated?—are concerned with finding out which
processes can be automated and
which cannot, and finding out
which processes can be automated efficiently (according to some
criterion of efficiency). For the
theoretician’s questions there
can be straightforward yes/no
answers. For the practitioner’s
question, “How can process p be
automated?” there usually are
many competing answers. For
instance, implementations a, b,
and c can all automate process p
and be equally efficient in their
use of space, time, and other
resources, or they can all be non-optimal in different ways.
The theoretician’s and practitioner’s questions above imply
that computing researchers deal
with issues of computability,
tractability, efficiency, operation-ality, usability, maintainability,
and reliability. Those issues are
concerned with what can be
efficiently automated, why some
things can be efficiently auto-
[ 1] Forsythe, George.
“Computer Science
and Education.” In
Proceedings of IFIP
Congress 1968, 92–106.
Edinburgh, UK: August
5–10 1968, Volume 2.
[ 2] Denning, Peter J. “The
Science of Computing:
What is Computer
Science?” American
Scientist 73, no. 1 (1985):
16–19.
[ 3] Denning, Peter J.,
Comer, Douglas E.,
Gries, David, Mulder,
Michael C., Tucker, Allen,
Turner, A. Joe, and Paul
R. Young. “Computing
as a Discipline.”
Communications of the
ACM 32, no. 1 (1989):
9–23.
[ 4] Raatikainen,
Kimmo. “Issues in
Essence of Computer
Science.” An English
translation of essays for
Tietojenkäsittelytiede 2/3
(1991-1992). Available at
https://www.cs.helsinki.
fi/u/kraatika/Papers/
IssuesInEssenceOf-ComputerScience.pdf
September + October 2008