IEEE Spectrum September, 2008 - 4

spectral lines
The Future Of
Code, Digital
And Genetic

T

he crowd at this summer's
Brainstorm Tech Conference,
organized by Fortune magazine, was
atwitter with social networking and
mobile technologies and the myriad
other ways in which we continue to
tether ourselves to the Internet and one
another. We were, of course, at Half
Moon Bay, Calif., near the U.S. epicenter
of the metaverse, Silicon Valley.
Two of the meeting's sessions,
however, fell beyond the Internet's
gravitational pull. Although these topics
attracted far less buzz than some of the
rest, they could ultimately have more
impact on tech industries than all the
current Internet crazes combined.
An all-star programming panel-
"The Future of Code"-featured David
Heinemeier Hansson, creator of Ruby
on Rails (RoR), the highly regarded
open-source Web-applications development platform; Charles Simonyi, space
tourist, renowned Microsoft developer,
and now CEO of Intentional Software;
and object-oriented programming guru
and IBM's chief scientist for software
engineering, Grady Booch.
The discussion poked at the elephant
in the server room: most software projects
fail; most software is more complicated
and enigmatic than the problem it's trying
to solve; most software is just plain bad. So
how can it be done better-a lot better?
Hansson, not surprisingly, championed small-is-better open-source solutions. He pointed out that most problems
solved by software today don't require
fail-safe killer apps created by Microsoftsize teams; they require robust but properly sized small-team solutions.
But Booch reminded the audience
that software development is very difficult and that RoR-type solutions can't be
www.spectrum.ieee.org

debating the future of software: From left, thoughtworks founder Neville "roy"
singham, David Heinemeier Hansson, charles simonyi, and grady Booch take center stage at
Fortune magazine's Brainstorm tech. Photo: Steve JurvetSon

applied to everything, particularly when
software is being asked to solve largescale critical infrastructure "system of
systems" problems. That's why, if you
get far enough into the little Everything
Mac user guide that comes with your
new Macintosh computer, you'll find:
This computer system is not intended for use
in the operation of nuclear facilities, aircraft
navigation or communications systems, or
air traffic control machines, or for any other
uses where the failure of your computer
system could lead to death, personal injury,
or severe environmental damage.

In other words, it's tolerable if the
operating system running your Mac or
the RoR software running your favorite
Web site seizes up or crashes from time to
time. It's not okay if the software running
JFK International Airport's air-trafficcontrol system suddenly cuts out. And
that was Booch's point. There's software,
and then there's software.
Simonyi talked about his "intentional
software" concept. If the human genome
can be encoded in a program that takes
up less than 1 gigabyte, he asked, why
does Windows require 15 or 16? So,
instead of building software according
to elaborate blueprints that detail every
programming step, Simonyi is following
what he called a recipe approach. His
team at Intentional Software creates a
set of programming tools, writes a very
specific description of the problem they
are attempting to solve, and then uses

the tools to generate a software solution.
It sounds like a software version of the
directed self-assembly techniques used
in chemistry and nanotechnology.
Over on the in vivo side of the house,
Harvard's George Church, biotechnologist and founder of the Personal
Genome Project; Drew Endy, of Stanford
University and a founder of the BioBricks
Foundation; and Rodney Brooks, of
MIT and iRobot, discussed what's being
called synthetic biology or synthetic life
research. The goal of this work is to build
biological systems from standard interchangeable genetic parts that can then
be used to manufacture everything from
biofuels to transistor parts, or as Brooks
put it, "to assemble the furniture without
having to grow the tree first."
Sound far-fetched? Undergraduate
students participating in the annual
International Genetically Engineered
Machines competition have already programmed bacteria to make computational
logic devices. In fact, synthetic biology is
proceeding so fast that Endy and his colleagues are setting up forums to discuss
its regulation by the research community.
So what happens if using synthetic
genetic material in manufacturing
becomes widespread, or if Simonyi
is right and it becomes possible for
software programs to assemble themselves? We're guessing that these
technology upheavals will make the
Twitter/Facebook "revolution" seem oh
so yesterday.
-Susan Hassler
September 2008 * Ieee Spectrum * NA





Table of Contents for the Digital Edition of IEEE Spectrum September, 2008

IEEE Spectrum September, 2008 - Cover1
IEEE Spectrum September, 2008 - Cover2
IEEE Spectrum September, 2008 - 1
IEEE Spectrum September, 2008 - 2
IEEE Spectrum September, 2008 - 3
IEEE Spectrum September, 2008 - 4
IEEE Spectrum September, 2008 - 5
IEEE Spectrum September, 2008 - 6
IEEE Spectrum September, 2008 - 7
IEEE Spectrum September, 2008 - 8
IEEE Spectrum September, 2008 - 9
IEEE Spectrum September, 2008 - 10
IEEE Spectrum September, 2008 - 11
IEEE Spectrum September, 2008 - 12
IEEE Spectrum September, 2008 - 13
IEEE Spectrum September, 2008 - 14
IEEE Spectrum September, 2008 - 15
IEEE Spectrum September, 2008 - 16
IEEE Spectrum September, 2008 - 17
IEEE Spectrum September, 2008 - 18
IEEE Spectrum September, 2008 - 19
IEEE Spectrum September, 2008 - 20
IEEE Spectrum September, 2008 - 21
IEEE Spectrum September, 2008 - 22
IEEE Spectrum September, 2008 - 23
IEEE Spectrum September, 2008 - 24
IEEE Spectrum September, 2008 - 25
IEEE Spectrum September, 2008 - 26
IEEE Spectrum September, 2008 - 27
IEEE Spectrum September, 2008 - 28
IEEE Spectrum September, 2008 - 29
IEEE Spectrum September, 2008 - 30
IEEE Spectrum September, 2008 - 31
IEEE Spectrum September, 2008 - 32
IEEE Spectrum September, 2008 - 33
IEEE Spectrum September, 2008 - 34
IEEE Spectrum September, 2008 - 35
IEEE Spectrum September, 2008 - 36
IEEE Spectrum September, 2008 - 37
IEEE Spectrum September, 2008 - 38
IEEE Spectrum September, 2008 - 39
IEEE Spectrum September, 2008 - 40
IEEE Spectrum September, 2008 - 41
IEEE Spectrum September, 2008 - 42
IEEE Spectrum September, 2008 - 43
IEEE Spectrum September, 2008 - 44
IEEE Spectrum September, 2008 - 45
IEEE Spectrum September, 2008 - 46
IEEE Spectrum September, 2008 - 47
IEEE Spectrum September, 2008 - 48
IEEE Spectrum September, 2008 - Cover3
IEEE Spectrum September, 2008 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1017
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0917
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0817
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0717
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0617
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0517
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0417
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0317
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1016
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0916
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0816
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0716
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0616
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0516
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0416
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0316
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1015
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0915
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0815
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0715
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0615
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0515
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0415
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0315
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1014
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0914
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0814
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0714
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0614
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0514
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0414
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0314
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1013
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0913
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0813
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0713
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0613
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0513
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0413
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0313
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1012
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0912
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0812
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0712
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0612
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0512
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0412
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0312
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1011
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0911
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0811
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0711
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0611
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0511
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0411
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0311
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1010
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0910
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0810
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0710
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0610
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0510
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0410
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0310
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1009
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0909
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0809
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0709
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0609
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0509
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0409
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0309
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1008
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0908
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0808
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0708
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0608
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0508
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0408
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0308
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1107
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1007
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0907
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0807
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0707
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0607
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0507
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0407
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0307
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0107
https://www.nxtbookmedia.com