Vviewpoints
DOI: 10.1145/1610252.1610265
the Profession of it
Computing’s Paradigm
Trying to categorize computing as engineering, science, or math is fruitless;
we have our own paradigm.
CoMPutinG riGhtFully CoMeSup in many discussions of uni- versity organization and cur- ricula, high school courses, job qualifications, research
funding, innovation, public policy, and
the future of education. In repeated attempts to characterize our field in these
discussions, our leaders continue to encounter sometimes contentious debate
over whether computing is a field of engineering or science. Because it leaves
others with a sense that we lack a clear
focus, that debate negatively influences
policies involving computing.
There seems to be agreement that
computing exemplifies engineering and
science, and that neither engineering
nor science characterizes computing.
What then does characterize computing? In this column, we will discuss
computing’s unique paradigm and offer it as a way to leave the debilitating
debate behind.
The word “paradigm” for our purposes means a belief system and its associated practices, defining how a field
sees the world and approaches the solutions of problems. This is the sense that
Thomas Kuhn used in his famous book,
The Structure of Scientific Revolutions.
Paradigms can contain sub-paradigms:
thus, engineering divides into electrical, mechanical, chemical, civil; science
divides into physical, life, and social sciences, which further divide into separate fields of science.
Roots of the Debate
Whether computing is engineering or
science is a debate as old as the field
itself. Some founders thought the new
field a branch of science, others engineering. Because of the sheer challenge of building reliable computers,
networks, and complex software, the
engineering view dominated for four
decades. In the mid-1980s, the science
view began to assert itself again with
the computational science movement,
which claimed computation as a new
sub-paradigm of science, and stimulated more experimental research in
computing.
Along the way, there were three waves
of attempts to provide a unified view.
The first wave was by Alan Perlis,
9 Allen
Newell,
8 and Herb Simon,
11 who argued
that computing was unique among all
sciences and engineering in its study of
information processes. Simon went so
far as to call computing a science of the
artificial.
The second wave started in the late
1960s. It focused on programming,
seen as the art of designing information
processes. Edsger Dijkstra and Donald
Knuth took strong stands favoring pro-
gramming as the unifying theme. In
recent times, this view has foundered
because the field has expanded and the
public understanding of programmer
has become so narrow (a coder).
The third wave was the NSF-spon-sored Computer Science and Engineering Research Study (COSERS), led by
Bruce Arden in the mid-1970s. It defined
computing as automation of information processes in engineering, science,
and business. It produced a wonderful
report that explained many exotic aspects of computing to the layperson.
1
However, it did not succeed in reconciling the engineering and science views
of computing.
Peaceful Coexistence
In the mid-1980s, the ACM Education
Board was concerned about the lack of
a common definition of the field. The
Board charged a task force to investigate;
its response was a report Computing as
a Discipline.
4 The central argument of
the report was that the computing field
was a unique combination of the traditional paradigms of math, science, and
engineering (see Table 1). Although all
three had made substantial contributions to the field, no single one told the
whole story. Programming—a practice
that crossed all three paradigms—was
essential but did not fully portray the
depth and richness of the field.
The report in effect argued for the
peaceful coexistence of the engineering, science, and math paradigms. It
found a strong core of knowledge that
supports all three paradigms. It called
on everyone to accept the three and not