Выбрать главу

Hackers and Painters: Big Ideas from the Computer Age

Acknowledgments

First on the list of people I have to thank is Sarah Harlin. After writing an essay I usually showed it to her first. And she usually crossed out half of it and told me to rewrite the rest. She has a perfect ear for prose rhythm, and barks at superfluous words like a dog after a squirrel.

If these essays are any good it's because most grew out of conversations with her or with Robert Morris, Trevor Blackwell, or Jackie McDonough. I'm lucky to know them.

The book benefits from the ideas of several other friends with whom I've talked about these questions over the past several years: Ken Anderson, Chip Coldwell, Matthias Felleisen, Dan Friedman, Daniel Giffin, Shiro Kawai, Lisa Randall, Eric Raymond, Olin Shivers, Bob van der Zwaan, and David Weinberger. Eric Raymond I owe special thanks not just for his ideas but for his example in writing about hacking.

I owe thanks to many others for help and ideas, including Jlide Aker, Chris Anderson, Jonathan Bachrach, Ingrid Bassett, Jeff Bates, Alan Bawden, Andrew Cohen, Cindy Cohn, Kate Courteau, Maria Daniels, Rich Draves, Jon Erickson, John Foderaro, Bob Frankston, Erann Gat, Phil Greenspun, Ann Gregg, AmyHarmon, AndyHertzfeld, Jeremy Hylton, Brad Karp, Shriram Krishnamurthi, Fritz Kunze, Joel Lehrer, Henry Leitner, Larry Lessig, Simon London, John McCarthy, Doug McIlroy, Rob Malda, Julie Mallozzi, Matz, Larry Mihalko, Mark Nitzberg, North Shore United, Peter Norvig, the Parmets, Sesha Pratap, Joel Rainey, Jonathan Rees, Guido van Rossum, Barry Shein, the Sloos,Mike Smith, Ryan Stanley, Guy Steele, Sam Steingold, Anton van Straaten, Greg Sullivan, Brad Templeton, Dave Touretzky, Mike Vanier, the Weickers, JonL White, Stephen Wolfram, and Bill Yerazunis.

This book looks good because the design was really done by typography god Gino Lee, not me. I know enough about book design to do whatever Gino says. Chip Coldwell spent hours beating on fonts and Amy Hendrickson days writing LaTex macros to achieve the appearance of ease you see here. The cover, curiously, was in a sense designed by Robert Morris, who fired up the Gimp and did some surgery on the previous version. Thanks to Gilberte Houbart for her ingenuity and persistence in extracting images from sources all over the world.

The guys at O'Reilly did an excellent job: Allen Noren, whose genuine interest in making good books is enough to restore one's faith in the book business; Betsy Waliszewski, whose vision for a more popular book stealthily became mine; Matt Hutchinson, Robert Romano, and Claire Cloutier, who made production run smoothly; and Tim O'Reilly, who shows what publishing can be when a publisher is a person rather than a conglomerate.

Extra special thanks to Jessica Livingston. Her advice improved every part of this book, from the front cover to the index. Her unfailing encouragement made the book better too: by telling me constantly that lots of people would want to read it, she frightened me into trying hard to make it something lots of people would want to read.

I learned about hacking from many people, but I learned about painting mostly from one: Idelle Weber, a great teacher all the better for teaching by example. I'm deeply indebted to her and her husband Julian for years of kindness.

Thanks finally to my father, for teaching me skepticism, and to my mother, for teaching me imagination. Having her for a mom has been like seeing the world in color.

Preface

This book is an attempt to explain to the world at large what goes on in the world of computers. So it's not just for programmers. For example, Chapter 6 is about how to get rich. I believe this is a topic of general interest.

You may have noticed that a lot of the people getting rich in the last thirty years have been programmers. Bill Gates, Steve Jobs, Larry Ellison. Why? Why programmers, rather than civil engineers or photographers or actuaries? "How to Make Wealth" explains why.

The money in software is one instance of a more general trend, and that trend is the theme of this book. This is the Computer Age. It was supposed to be the Space Age, or the Atomic Age. But those were just names invented by PR people. Computers have had far more effect on the form of our lives than space travel or nuclear technology.

Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into one. So has your camera. Soon your TV will. Your car has more processing power in it than a room-sized mainframe had in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet. So if you want to understand where we are, and where we're going, it will help if you understand what's going on inside the heads of hackers.

Hackers? Aren't those the people who break into computers? Among outsiders, that's what the word means. But within the computer world, expert programmers refer to themselves as hackers. And since the purpose of this book is to explain how things really are in our world, I decided it was worth the risk to use the words we use.

The earlier chapters answer questions we have probably all thought about. What makes a startup succeed? Will technology create a gap between those who understand it and those who don't? What do programmers do? Why do kids who can't master high school end up as some of the most powerful people in the world? Will Microsoft take over the Internet? What to do about spam?

Several later chapters are about something most people outside the computer world haven't thought about: programming languages. Why should you care about programming languages? Because if you want to understand hacking, this is the thread to followjust as, if you wanted to understand the technology of 1880, steam engines were the thread to follow.

Computer programs are all just text. And the language you choose determines what you can say. Programming languages are what programmers think in.

Naturally, this has a big effect on the kind of thoughts they have. And you can see it in the software they write. Orbitz, the travel web site, managed to break into a market dominated by two very formidable competitors: Sabre, who owned electronic reservations for decades, and Microsoft. How on earth did Orbitz pull this off? Largely by using a better programming language.

Programmers tend to be divided into tribes by the languages they use. More even than by the kinds of programs they write. And so it's considered bad manners to say that one language is better than another. But no language designer can afford to believe this polite fiction. What I have to say about programming languages may upset a lot of people, but I think there is no better way to understand hacking.

Some might wonder about "What You Can't Say" (Chapter 3). What does that have to do with computers? The fact is, hackers are obsessed with free speech. Slashdot, the New York Times of hacking, has a whole section about it. I think most Slashdot readers take this for granted. But Plane & Pilot doesn't have a section about free speech.

Why do hackers care so much about free speech? Partly, I think, because innovation is so important in software, and innovation and heresy are practically the same thing. Good hackers develop a habit of questioning everything. You have to when you work on machines made of words that are as complex as a mechanical watch and a thousand times the size.

But I think that misfits and iconoclasts are also more likely to become hackers. The computer world is like an intellectual Wild West, where you can think anything you want, if you're willing to risk the consequences.

And this book, if I've done what I intended, is an intellectual Western. I wouldn't want you to read it in a spirit of duty, thinking, "Well, these nerds do seem to be taking over the world. I suppose I'd better understand what they're doing, so I'm not blindsided by whatever they cook up next." If you like ideas, this book ought to be fun . Though hackers generally look dull on the outside, the insides of their heads are surprisingly interesting places.