Why software still stinks

Programming must change -- but how? At a reunion of coding pioneers, answers abound.


In some quarters today, it’s still a controversial proposition to argue that computer programming is an art as well as a science. But 20 years ago, when Microsoft Press editor Susan Lammers assembled a collection of interviews with software pioneers into a book titled “Programmers at Work,” the idea was downright outlandish. Programming had long been viewed as the domain of corporate engineers and university computer scientists. But in the first flush of the personal computer era, the role of software innovator began to evolve into something more like the grand American tradition of the basement inventor — with a dollop of the huckster on top and, underneath, a deep foundation of idealism.

It made sense that the people writing the most important code for the new desktop machines were ragged individualists with eccentric streaks. At a panel on Tuesday (sponsored by the SDWest conference and Dr. Dobb’s Journal) that celebrated Lammers’ book, seven of the 19 original subjects of “Programmers at Work” lined up on stage to talk about what’s changed in software over the past two decades — and demonstrate that they have lost none of their cantankerous edge.

In “Programmers at Work,” Lammers told the crowd, “I looked at the programmer as an individual on a quest to create something new that would change the world.” Certainly, the panel’s group lived up to that billing: it included Andy Hertzfeld, who wrote much of the original Macintosh operating system and is now chronicling that saga at Folklore.org; Jef Raskin, who created the original concept for the Macintosh; Charles Simonyi, a Xerox PARC veteran and two-decade Microsoft code guru responsible for much of today’s Office suite; Dan Bricklin, co-creator of VisiCalc, the pioneering spreadsheet program; virtual-reality pioneer Jaron Lanier; gaming pioneer Scott Kim; and Robert Carr, father of Ashton-Tate’s Framework.

But for all their considerable achievements, this was not a group content to snooze on a heap of laurels. In fact, though the hour-and-a-half discussion was full of contention, one thing all the participants agreed on was that software today is in dire need of help. It’s still too hard: not only for users struggling to make sense of poorly designed interfaces, but for programmers swimming upstream against a current of constraints that numb creativity and drown innovation.

These veterans shared a starting-point assumption that the rest of the world is only slowly beginning to understand: While computer hardware seems to advance according to the exponential upward curve known as Moore’s Law (doubling in speed — or halving in cost — every year or two), software, when it advances at all, seems to move at a more leisurely linear pace.

As Lanier said, “Software inefficiency can always outpace Moore’s Law. Moore’s Law isn’t a match for our bad coding.”

The impact of this differential is not simply a matter of which industry gets to collect more profits. It sets a maddening limit on how much good we can expect information technology to achieve. If computers are, as it has often been put, “amplifiers for our brains,” then software’s limitations cap the volume way too low. Or, in Simonyi’s words, “Software as we know it is the bottleneck on the digital horn of plenty.”

Most successful programmers are at heart can-do engineers who are optimistic that every problem has a solution. So it was only natural that, even in this relatively small gathering of software pioneers, there were multiple, and conflicting, ideas about how we should proceed in order to break that bottleneck.

Simonyi believes the answer is to unshackle the design of software from the details of implementation in code. “There are two meanings to software design,” he explained on Tuesday. “One is, designing the artifact we’re trying to implement. The other is the sheer software engineering to make that artifact come into being. I believe these are two separate roles — the subject matter expert and the software engineer.”

Giving the former group tools to shape software will transform the landscape, according to Simonyi. Otherwise, you’re stuck in the unsatisfactory present, where the people who know the most about what the software is supposed to accomplish can’t directly shape the software itself: All they can do is “make a humble request to the programmer.” Simonyi left Microsoft in 2002 to start a new company, Intentional Software, aimed at turning this vision into something concrete.

You Might Also Like

Frederick Brooks, in a famous 1987 essay, declared that the prospect for a programming “silver bullet” — to slay, once and for all, the monster-like characteristics of so many software development projects — was dim. But Simonyi said he believes his project will provide that very silver bullet.

You can’t fault him for ambition. Or can you? Jaron Lanier, sitting appropriately at the opposite end of the stage from Simonyi, argued that there’s a deeper failure of vision in the software world that requires even more radical change. “A lot of stuff in the Mac and Windows world was supposed to be temporary and got wedged into place,” he said. “Making programming fundamentally better might be the single most important challenge we face — and the most difficult one.” Today’s software world is simply too “brittle” — one tiny error and everything grinds to a halt: “We’re constantly teetering on the edge of catastrophe.” Nature and biological systems are much more flexible, adaptable and forgiving, and we should look to them for new answers. “The path forward is being biomimetic.”

What about the open-source movement, which over the past decade has won considerable loyalty and enthusiasm in many programming quarters?

“There’s this wonderful outpouring of creativity in the open-source world,” Lanier said. “So what do they make — another version of Unix?”

Jef Raskin jumped in. “And what do they put on top of it? Another Windows!”

“What are they thinking?” Lanier continued. “Why is the idealism just about how the code is shared — what about idealism about the code itself?”

At this point, Andy Hertzfeld, who has devoted himself in recent years to open-source projects like Eazel and Chandler, spoke up for the maligned legions of Linux-heads. “It’s because they want people to use the stuff!”

His comment underscored something that’s frequently misunderstood about the open-source approach, which is often wrongly stereotyped as loopily communal and out-of-touch with business reality. There’s an essential pragmatism to the notion that programmers work best when they can share, and learn from, one another’s work. After all, every other field of human endeavor works that way.

Bricklin sent waves of laughter through the auditorium by reading a passage from Lammers’ interview with Bill Gates in which the young Microsoft founder explained that his work on different versions of Microsoft’s BASIC compiler was shaped by looking at how other programmers had gone about the same task. Gates went on to say that young programmers don’t need computer science degrees: “The best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating systems.”

Bricklin finished reading Gates’ words and announced, with an impish smile, “This is where Gates and [Richard] Stallman agree!”

The “Programmers at Work” panelists were full of optimism about new opportunities to reinvent software — in the mobile-phone world (where, Scott Kim noted, the constraints of small screens and tiny memory made it feel “like the early days” again), in the new universe of RF tags, and in the still-unfolding saga of global networking. Bob Carr reminded everyone that technology transformations usually take 20 years to unfold — “I remember thinking in 1987 that the PC industry was mature, it was over” — and that the Internet is only halfway through that cycle.

Still, that picture of Bill Gates dumpster-diving for operating-system code was hard to shake. Finding new ways to think about programming and to make better software demands a willingness for pioneers to open up their work so others can learn from it. “Getting the software industry on a more open, fair and level playing field,” as Hertzfeld put it, is a prerequisite for any leap forward in the programming world. Software patents are a looming train wreck; competition in most “end-user” software is largely a distant memory. Simonyi’s technical bottleneck is also a social, political and business logjam.

In the era of “Programmers at Work,” it was possible to imagine the lone-hero programmer as a genius operating beyond the reach of political and social forces. Today, even the best programmers can’t ignore the vast web of interdependence their own work has helped shape.

Salon co-founder Scott Rosenberg is director of MediaBugs.org. He is the author of "Say Everything" and Dreaming in Code and blogs at Wordyard.com.

More Related Stories

Featured Slide Shows

  • Share on Twitter
  • Share on Facebook
  • 1 of 13
  • Close
  • Fullscreen
  • Thumbnails

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    Young Daya has yet to become entirely jaded, but she has the character's trademark skeptical pout down pat. And with a piece-of-work mother like Aleida -- who oscillates between jealousy and scorn for her creatively gifted daughter, chucking out the artwork she brings home from summer camp -- who can blame her?

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    With her marriage to prison penpal Vince Muccio, Lorna finally got to wear the white veil she has fantasized about since childhood (even if it was made of toilet paper).

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    Cindy's embrace of Judaism makes sense when we see her childhood, lived under the fist of a terrifying father who preached a fire-and-brimstone version of Christianity. As she put it: "I was raised in a church where I was told to believe and pray. And if I was bad, I’d go to hell."

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    Joey Caputo has always tried to be a good guy, whether it's offering to fight a disabled wrestler at a high school wrestling event or giving up his musical ambitions to raise another man's child. But trying to be a nice guy never exactly worked out for him -- which might explain why he decides to take the selfish route in the Season 3 finale.

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    In one of the season's more moving flashbacks, we see a young Boo -- who rejected the traditional trappings of femininity from a young age -- clashing with her mother over what to wear. Later, she makes the decision not to visit her mother on her deathbed if it means pretending to be something she's not. As she puts it, "I refuse to be invisible, Daddy. Not for you, not for Mom, not for anybody.”

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    We still don't know what landed Brooke Soso in the slammer, but a late-season flashback suggests that some seriously overbearing parenting may have been the impetus for her downward spiral.

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    We already know a little about Poussey's relationship with her military father, but this season we saw a softer side of the spunky fan-favorite, who still pines for the loving mom that she lost too young.

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    Pennsatucky had something of a redemption arc this season, and glimpses of her childhood only serve to increase viewer sympathy for the character, whose mother forced her to chug Mountain Dew outside the Social Security Administration office and stripped her of her sexual agency before she was even old enough to comprehend it.

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    This season, we got an intense look at the teenage life of one of Litchfield's most isolated and underexplored inmates. Rebuffed and scorned by her suitor at an arranged marriage, the young Chinese immigrant stored up a grudge, and ultimately exacted a merciless revenge.

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    It's difficult to sympathize with the racist, misogynist CO Sam Healy, but the snippets we get of his childhood -- raised by a mentally ill mother, vomited on by a homeless man he mistakes for Jesus when he runs to the church for help -- certainly help us understand him better.

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    This season, we learned a lot about one of Litchfield's biggest enigmas, as we saw the roots of Norma's silence (a childhood stutter) and the reason for her incarceration (killing the oppressive cult leader she followed for decades).

    The 12 most incredible pint-size look-alikes in "Orange Is the New Black" season 3

    While Nicki's mother certainly isn't entirely to blame for her daughter's struggles with addiction, an early childhood flashback -- of an adorable young Nicki being rebuffed on Mother's Day -- certainly helps us understand the roots of Nicki's scarred psyche.

  • Recent Slide Shows



Comment Preview

Your name will appear as username ( settings | log out )

You may use these HTML tags and attributes: <a href=""> <b> <em> <strong> <i> <blockquote>