The April 2024 issue of IEEE Spectrum is here!

Close bar

The Future Of Code, Digital And Genetic

Spectral lines

3 min read

The 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 Microsoft-size 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 applied to everything, particularly when software is being asked to solve large-scale 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-traffic-control 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.

This article is for IEEE members only. Join IEEE to access our full archive.

Join the world’s largest professional organization devoted to engineering and applied sciences and get access to all of Spectrum’s articles, podcasts, and special reports. Learn more →

If you're already an IEEE member, please sign in to continue reading.

Membership includes:

  • Get unlimited access to IEEE Spectrum content
  • Follow your favorite topics to create a personalized feed of IEEE Spectrum content
  • Save Spectrum articles to read later
  • Network with other technology professionals
  • Establish a professional profile
  • Create a group to share and collaborate on projects
  • Discover IEEE events and activities
  • Join and participate in discussions