You are on page 1of 5

A reprint from

American Scientist
the magazine of Sigma Xi, The Scientific Research Society

This reprint is provided for personal and noncommercial use. For any other use, please send a request Brian Hayes by
electronic mail to bhayes@amsci.org.
Computing
Science

Cultures of Code
Three communities in the world of computation are bound together by common
interests but set apart by distinctly different aims and agendas.

Brian Hayes

K
im studies parallel algo- different cultures. The resulting Bal- not an object of study but a scientific
rithms, designed for comput- kanization of computing seems unwise instrument, a device for answering
ers with thousands of proces- and unhealthy, a recipe for reinventing questions about the natural world.
sors. Chris builds computer wheels and making the same mistake Running a program is directly analo-
simulations of fluids in motion, such as three times over. Calls for unification go gous to conducting an experiment,
ocean currents. Dana creates software back at least 45 years, but the estrange- and the output of the program is the
for visualizing geographic data. These ment continues. As a student and ad- result of the experiment.
three people have much in common. mirer of all three fields, I find the stand- When Dana the developer writes
Computing is an essential part of their off deeply frustrating. a program, the program itself is the
professional lives; they all spend time Certain areas of computation are go- product of his labors. The software he
writing, testing, and debugging com- ing through a period of extraordinary creates is meant to be a useful tool for
puter programs. They probably rely on vigor and innovation. Machine learn- colleagues or customers—an artifact of
many of the same tools, such as soft- ing, data analysis, and programming tangible value. Dana’s programming
ware for editing program text. If you for the web have all made huge strides. is not science but art or craft or engi-
were to look over their shoulders as Problems that stumped earlier genera- neering. It is all about making things,
they worked on their code, you might tions, such as image recognition, finally not answering questions.
not be able to tell who was who. seem to be yielding to new efforts. The Should these three activities be treat-
Despite the similarities, however, successes have drawn more young peo- ed as separate fields of endeavor, or are
Kim, Chris, and Dana were trained ple into the field; suddenly, everyone they really just subdivisions of a single
in different disciplines, and they be- is “learning to code.” I am cheered by computing enterprise? The historian
long to different intellectual traditions (and I cheer for) all these events, but I Michael Mahoney, an astute observer
and communities. Kim, the parallel also want to whisper a question: Will of computing communities, suggested
algorithms specialist, is a professor in the wave of excitement ever reach other that a key concept for addressing such
a university department of computer corners of the computing universe? questions is the “agenda.”
science. Chris, the fluids modeler, also
The agenda of a field consists of
lives in the academic world, but she is Setting Agendas
what its practitioners agree ought
a physicist by training; sometimes she What’s the difference between com-
to be done, a consensus concern-
describes herself as a computational puter science, computational science,
ing the problems of the field, their
scientist (which is not the same thing and software development?
order of importance or priority,
as a computer scientist). Dana has been When Kim the computer scientist
the means of solving them (the
programming since junior high school writes a program, her aim is to learn
tools of the trade), and perhaps
but didn’t study computing in col- something about the underlying algo-
most importantly, what constitutes
lege; at the startup company where he rithm. The object of study in computer
a solution…. The standing of the
works, his title is software developer. science is the computing process itself,
field may be measured by its ca-
These factional divisions run deeper detached from any particular hardware
pacity to set its own agenda. New
than mere specializations. Kim, Chris, or software. When Kim publishes her
disciplines emerge by acquiring
and Dana belong to different profes- conclusions, they will be formulated in
that autonomy. Conflicts within a
sional societies, go to different confer- terms of an idealized, abstract comput-
discipline often come down to dis-
ences, read different publications; their ing machine. Indeed, the more theoreti-
agreements over the agenda: what
paths seldom cross. They represent cal aspects of her work could be done
are the really important problems?
without any access to actual computers.
Brian Hayes is senior writer for American Scien- When Chris the computational sci- The issue, then, is whether Kim,
tist. Additional material related to the Comput- entist writes a program, the goal is to Chris, and Dana set their own agen-
ing Science column can be found online at http:// simulate the behavior of some physi- das, or whether each of them has
bit-player.org. E-mail: brian@bit-player.org cal system. For her, the computer is merely chosen to concentrate on se-

10 American Scientist, Volume 103 © 2015 Brian Hayes. Reproduction with permission only.
Contact bhayes@amsci.org.
computer science computational science software development
understand the nature of computation use computation to understand nature write useful programs

Determine what can be computed. Map natural processes onto Learn to manage complexity.
computational ones.
Determine what can be computed Map abstract concepts onto concrete
with finite resources. Simulate the behavior of physical, program structures.
biological, and social systems.
Determine what can be computed efficiently. Provide tools for debugging.
Capture and manage large volumes of data.
Compare models of computation (e.g., Provide tools for collaborative work and
classical and quantum). Minimize numerical errors. code sharing.
Organize data for efficient storage Solve large systems of linear equations. Manage versions and variants of code.
and retrieval. Approximate the solutions of Define mechanisms and standards
Define the syntax and semantics of differential equations. for exchanging data between programs.
programming languages. Encode continuous quantities in Learn what factors influence programmer
Improve the human interface with computers. discrete form. productivity.
Ensure the correctness of concurrent Devise ways to visualize spatial and Learn what features make programming
operations. temporal patterns, such as vector fields. languages more expressive.

Communities that share an interest in computing but have distinct goals of defining a community by its agenda was introduced by the historian
can be distinguished by their agendas: the lists of problems to solve and Michael Mahoney. Shown here are some possible to-do items for com-
tasks to accomplish that members of each community agree on. The idea puter science, computational science, and software development.

lected parts of a shared agenda. There according to their expressive power. ain, wove together ideas from sources
are certainly questions that would in- The next project was to devise algo- that must have seemed unlikely bedfel-
terest all three of them. A prominent rithms for parsing programs—break- lows. Basic notions of how to “mecha-
example is “What can be computed ing statements down into their basic nize thought” came from mathematical
efficiently?” Theoretical computer sci- grammatical units—and then assigning logic, including the 19th-century work
ence seizes on this question as one of meaning to the statements. Most of this of George Boole on a form of algebra
its most central, existential concerns, work was completed by the 1970s. in which the elements are not numbers
but the answer also matters to those Programmers today are intensely but the values true and false. Electrical
who write and run programs for prac- partisan in their choices of program- engineering, and in particular switch-
tical purposes. Thus the three groups ming languages, yet interest in the ing theory, provided circuits that imple-
might seem to stand on common underlying principles seems to have ment Boolean operations in hardware.
ground. The trouble is, a theorist’s an- waned. Two years ago I attended a Mathematical logic became one of
swer to the question may not be much lunch-table talk by a young graduate the seed pearls on which theoretical
use to a practical programmer. Know- student who had turned away from hu- computer science grew. Circuit theory
ing that the worst-case running time manities and business studies to take also remains a core component of com-
grows as some polynomial function of up a new life designing software. She puter science and engineering. Indeed,
the problem size doesn’t actually tell had fallen in love with coding, and she the design and manufacture of hard-
you whether a specific computation spoke eloquently of its attractions and ware represents yet another indepen-
will take seconds or centuries. rewards. But she also took a swipe at dent computing culture.
The issue here is not that all comput- the traditional computer science curric- Alongside mathematical logic and
er scientists are otherworldly theorists. ulum. “No one cares much about LR(1) electrical circuits, there was a third tra-
Sometimes the theoretical challenges parsers anymore,” she said, referring dition present at the birth of modern
arise elsewhere. As a fluid dynamicist, to one of the classic tools of language computing. The users of those first
Chris has on her agenda the tricky processing. The remark saddened me high-speed computing machines came
theoretical problem of partitioning a because the theory of parsing is a thing mainly from applied mathematics and
continuous fluid into discrete parcels of beauty. At the very least it is a histori- closely allied areas such as physics.
suitable for processing by a digital com- cal landmark that no one should pass Prominent among the users were table-
puter. Solutions to such problems have by without stopping to read the plaque. makers, who compiled tables of loga-
come mainly from mathematicians, But, as Edith Wharton wrote, “Life has rithms, trigonometric functions, and all
engineers, and physicists rather than a way of overgrowing its achievements sorts of other quantitative information.
computer scientists. as well as its ruins.” (The ostensible reason for building the
One of the glories of computer sci- ENIAC was to compile ballistic tables
ence in its early years was a deep Roots of Computing for artillery.) Another important con-
analysis of programming languages. Schisms in the computing community stituency among the users were the nu-
Everyone who does computing would can be traced back all the way to the merical analysts, who devise schemes
seem to have a stake in this work. In an beginning of the digital electronic era, for finding approximate solutions to
interesting collaboration between com- circa 1950. The designers of the early equations that cannot be solved ex-
puter scientists, mathematicians, and machines, such as the ENIAC in the actly. Most of the interesting problems
linguists, the languages were classified United States and the EDSAC in Brit- in the sciences fit this description. For

www.americanscientist.org © 2015 Brian Hayes. Reproduction with permission only. 2015 January–February 11
Contact bhayes@amsci.org.
the tablemakers and the numerical an- neered in the art of programming were ment structure on the programming
alysts, the electronic computer was a largely displaced by men—an issue process. In the software shops of the
problem-solving or question-answering the profession is still dealing with 60 1960s and ’70s, the way to get ahead
tool; the heirs of these pioneers are to- years later. was to rise above the actual writing of
day’s computational scientists. code and become a system analyst or
Notably absent from the planning for Silver Bullets architect.
early computer projects was any seri- By the time computers were being At the same time, however, anoth-
ous discussion of programming. For manufactured for commercial use, pro- er strand of computing culture—or
each problem to be solved, a mathema- gramming was recognized as a costly counterculture—was moving in the
tician or other professional was expect- bottleneck. The work was tedious and opposite direction. The enthusiasts
ed to design the scheme of computa- slow; people good at it were hard to who called themselves hackers, most
tion, perhaps in the form of a flow chart find; even the most talented and dedi- famously situated at MIT among mem-
annotated with equations. Translating cated programmers made mistakes. bers of the Tech Model Railroad Club,
this plan into instructions suitable for Programming projects became notori- saw computer programming as a puz-
the machine was viewed as a routine ous for running over budget and be- zle to be solved, a world to explore, a
clerical task, requiring no intellectual hind schedule. Progress in computing medium of self-expression. They saw
engagement with the underlying ideas. was threatened by a “software crisis.” it as fun. They resisted the idea that
In the case of the ENIAC, six women The subsequent history of program- only an elite with engineering creden-
were recruited as “coders” to do this ming methodology can be read as an tials would be allowed access to the
work. Three of the six had majored in extended campaign to slay this drag- machinery. The notion that program-
mathematics in college, and all of them on. Higher-level programming lan- ming could be regulated or restricted
were absurdly overqualified for clerical guages—closer to the vocabulary of was further undermined when person-
al computers became widely available
and affordable in the 1980s.

The investment of effort that once printed Coding Is Cool Again


Another wave of irrepressible hacker
“Hello, world” on the computer screen now enthusiasm is washing over us now,
as a new generation discovers that
brings the world itself to that screen. coding is cool. Introductory program-
ming courses, which had disappeared
from many college curricula, now at-
tract hundreds of students. At Har-
vard, for example, a hands-on pro-
duties. As it turned out, their qualifi- the problem domain, further from the gramming course called CS50 has an
cations were put to the test, because minutiae of the hardware—were the enrollment of almost 900, the largest
the work of preparing programs for the first weapon, and the most effective in the entire university. Online cours-
machine was anything but routine. one. A regimen called structured pro- es engage millions more. And a group
The discovery that programming gramming tried to untangle the logic called code.org is working to revive
presents serious intellectual challenges of programs by allowing only a few the study of computing in elementary
apparently came as a surprise to the kinds of loops and branches. Under the and secondary schools.
early leaders of the field. Maurice V. banner of modularity, programs were Why this sudden infatuation with
Wilkes, the principal architect of the to be assembled out of pretested, reus- the nerdy side of life? Fad and fashion
EDSAC, had an epiphany while writ- able units. Another movement called doubtless play a part. So does the pros-
ing the first substantial program for for formal proofs of program correct- pect of creating the next billion-dollar
that machine in 1949: ness. More slogans paraded by: ab- app. And there’s always excitement
straction, encapsulation, declarative in joining your generation’s mission
The EDSAC was on the top floor
programming, functional program- to change the world. Beyond all that,
of the building and the tape-
ming, object-oriented programming, I would cite one more factor. Within
punching and editing equipment
design patterns, test-driven develop- the past five years, programming tools
one floor below.… It was on one of
ment, ­agile development. The sheer va- have crossed a threshold of accessibil-
my journeys between the EDSAC
riety of these remedies is a hint that no ity and power. It’s not that we have fi-
room and the punching equip-
one of them was a cure-all. Even now nally found the magic elixir that makes
ment that … the realization came
the software crisis is still with us: Wit- programming easy and error-free. The
over me with full force that a good
ness the debacle of the Healthcare.gov learning curve is still steep. But the
part of the remainder of my life
website in 2013. view from the top of the hill is spectacu-
was going to be spent in finding
The debate over software quality lar. The same investment of effort that
errors in my own programs.
has included repeated calls to make once printed the words “Hello, world”
Recognizing that programming programming a proper engineering on the computer screen now brings the
requires skill and ingenuity elevated discipline, with recognized standards world itself to that screen.
the status of the occupation. Unfortu- of proficiency and perhaps require- In 1984 I saw a demo of a mapping
nately, not everyone benefited from ments for certification or licensing. A program created by Michael Lesk and
this upgrade. Women who had pio- related trend imposed more manage- his colleagues at AT&T Bell Labs. The

12 American Scientist, Volume 103 © 2015 Brian Hayes. Reproduction with permission only.
Contact bhayes@amsci.org.
graphics were crude by modern stan- uisite to becoming a good program- Felleisen, Matthias, and Shriram Krish-
dards, but the program could answer mer. There’s abundant evidence to namurthi. 2009. Viewpoint: Why computer
science doesn’t matter. Communications of
geographic queries and recommend the contrary. But it is a necessary step the ACM 52(7):37–40.
routes from point to point in the New in absorbing the culture of computer Fritz, W. Barkley. 1996. The women of ENIAC.
York area. I was wowed. science. I am sentimental enough to IEEE Annals of the History of Computing
A key innovation in Lesk’s program believe that an interdisciplinary and 18(3):13–28.
was storing the terrain map in small intergenerational conversation would Gramelsberger, Gabriele (ed.). 2011. From Sci-
square tiles that could be loaded into enrich both sides, and help in knitting ence to Computational Sciences: Studies in the
History of Computing and Its Influence on To-
memory as needed. Twenty years lat- together the communities. day’s Sciences. Zürich: Diaphanes.
er, Google Maps employed the same Mahoney, Michael Sean. 2011. Histories of Com-
principle (with better graphics) to Bibliography puting. Cambridge, MA: Harvard Univer-
create the illusion that the computer Baldwin, Douglas. 2011. Is computer science sity Press.
screen is a window onto a vast unfurl- a relevant academic discipline for the 21st Wegner, Peter. 1970. Three computer cultures:
century? IEEE Computer 44(12):81–83.
ing map of the whole planet. New Computer technology, computer mathe-
Denning, Peter. 1985. What is computer sci- matics, and computer science. Advances in
tiles are fetched over the network
ence? American Scientist 73:16–19. Computers 10:7–78.
whenever you move the window or
zoom in and out. I was wowed again.
Google Maps was state-of-the-art
wizardry in 2005; in 2015 anyone can
do it. With a dozen lines of code—plus
an open-source library called Leaflet
and a free web service that supplies the
map tiles—you can create your own
mapping program, offering the viewer
the same breathtaking window-on-the-
world experience.
The grizzled curmudgeon in me
wants to object that this instant car-
tography is not real programming, it’s
just a “mashup” of prefabricated pro-
gram modules and Internet resources.
But building atop the achievements
of others is exactly how science and
engineering are supposed to advance.
Still, a worry remains. How will the
members of this exuberant new cohort
distribute themselves over the three
continents of computer science, com-
putational science, and software devel-
opment? What tasks will they put on
their agendas? At the moment, most of
the energy flows into the culture of soft-
ware development or programming.
The excitement is about applying com-
putational methods, not inventing new
ones or investigating their properties.
In the long run, though, someone needs
to care about LR(1) parsers.
Guy Lewis Steele, Jr., one of the orig-
inal MIT hackers, worried in the 1980s
that hackerdom might be killed off “as
programming education became more
formalized.” The present predicament
is just the opposite. Everyone wants to
pick up the knack of coding, but the
more abstract and mathematical con-
cepts at the core of computer science
attract a smaller audience. The big en-
rollments are in courses on Python,
Ruby, and JavaScript, not automata
theory or denotational semantics.
I would not contend that mastery of
the more theoretical topics is a prereq-

www.americanscientist.org © 2015 Brian Hayes. Reproduction with permission only. 2015 January–February 13
Contact bhayes@amsci.org.

You might also like