Related link: http://www.oreillynet.com/pub/wlg/3190
Paul Graham’s essay Hackers and Painters is thoughtful and Tim O’Reilly’s commentary on it is exuberant, but to what effect?
The people who need to be swayed by Graham’s arguments are already swayed.
Hacking is fun, hacking is creative, hacking is not just implementing a spec.
This was made quite clear to me in fifth grade when I read Steven Levy’s
fabulous book “Hackers”. Software connoisseurs appreciate the fine art of design. They are different than the journeymen with their lunchpails that stuff the code inside the virtual methods handed down from on high.
Most people in the world are not software connoisseurs. They just want it to work. I am not an electrical engineering connoisseur. I don’t care if the circuit board inside my computer is laid out in a particularly beautiful or elegant pattern. I just want it to work. I don’t care if the elevator in my apartment building is based on a design by a noted elevator designer. I just want to go up and down.
I have, perhaps, now offended aficionados of fine elevators. How can I be so blind to the beauty above my head and below my feet in the elevator shaft? Without elevators there’d be no Empire State Building, no Petronas Towers! Designing a good elevator isn’t just rote engineering, it’s creative, it’s art, it’s beautiful!
All of this may be true. I’m just not into elevators.
Web Application development is a very young field. This has lots of exciting and positive implications — it’s bursting with unbridled creativity. Many people are building lots of neat things. But even more people are building lots of shoddy things. Much of this is natural — boundaries are being sorted out, everyone’s figuring out the rules of the game. To those outside this community of developers and connoisseurs, however, the implications are less thrilling.
When my mom* rides the elevator of a web application, she doesn’t care about the creativity of the programmer/designer behind the scenes. She wants her airline ticket, or book, or search results, or Happy Flag Day e-card. Maybe there’s a really cool macro language on the e-card site** that lets e-card designers whip up cards with embedded video games especially easily, but that’s not even on my mom’s radar.
Web application development can learn plenty from “software engineering” which in turn can learn a lot from regular old bridge/skyscraper/canal/tunnel engineering. Maybe when the pace of development slows down a little there won’t be so much wheel re-inventing. How many thousands (tens of thousands?) internal web content management systems were built in the last ten years? (My personal contribution to this embarrassment: three) People who build bridges have had a few thousand years to develop some standards so perhaps my complaints come a little early. But the thinkers (artists, hackers, makers, whatever you want to call them) and the doers (engineers, builders, ditch-diggers, etc.) both need to realize that their common medium (computer programs) link them inextricably in the minds, hearts, and wallets of the 99.999% of the world that “just wants it to work”.
* My own personal mom is actually somewhat computer savvy and is kind of interested in what happens behind the scenes. But the general abstract “mom” is such a universally beloved icon of naive computer usage that I don’t want to rock the boat.
** Paul Graham has written about how Lisp was the Secret Weapon to make Viaweb/Yahoo! stores comparatively great. I’ve never maintained a Yahoo! store or written any RTML, but I’ve bought plenty of things from Yahoo! stores and elsewhere and haven’t felt (as an end-user) a difference.
Are you an artist or a ditch-digger? Both? Neither?