Book contents
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 TALKING WITH COMPUTERS
- 2 THE SHELL GAME
- 3 KEEPING TRACK OF YOUR STUFF
- 4 DON'T SWEAT THE SYNTAX
- 5 COMPUTATIONAL MUDDLES
- 6 GETTING ORIENTED
- 7 THANKS FOR SHARING
- 8 YOU'VE GOT (JUNK) EMAIL
- 9 MODERN ARCHITECTURE
- 10 DO ROBOTS SLEEP?
- 11 UNDER THE HOOD
- 12 ANALYZE THIS
- 13 FOREST FOR THE TREES
- 14 SEARCHING THE WILD WEB
- 15 DARWIN'S DANGEROUS ALGORITHM
- 16 AIN'T NOBODY HERE BUT US MACHINES
- Bibliography
- Index
7 - THANKS FOR SHARING
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 TALKING WITH COMPUTERS
- 2 THE SHELL GAME
- 3 KEEPING TRACK OF YOUR STUFF
- 4 DON'T SWEAT THE SYNTAX
- 5 COMPUTATIONAL MUDDLES
- 6 GETTING ORIENTED
- 7 THANKS FOR SHARING
- 8 YOU'VE GOT (JUNK) EMAIL
- 9 MODERN ARCHITECTURE
- 10 DO ROBOTS SLEEP?
- 11 UNDER THE HOOD
- 12 ANALYZE THIS
- 13 FOREST FOR THE TREES
- 14 SEARCHING THE WILD WEB
- 15 DARWIN'S DANGEROUS ALGORITHM
- 16 AIN'T NOBODY HERE BUT US MACHINES
- Bibliography
- Index
Summary
When I use the term “hacker” I mean someone who enjoys programming and is good at it. Hackers in my experience tend to be an opinionated and individualistic lot and they tend to appreciate strong opinions and independence of thought in others. The slogan of the Perl language is “There's more than one way to do it”, and most hackers are motivated to exploring different ways of doing the same job. That said, if adopting a standard way of doing something provides leverage for building better software, then most hackers will agree to adopt the standard (after much dickering about the details, of course).
If you write code because you want other people to use it, it behooves you to use a language that others are familiar with, adopt standard conventions for input and output so that others can interact with your code without learning some new set of conventions, and provide your code in a format so that others can use it as a component of a larger project without having to understand all the details of your implementation. The struggle to meet these basic criteria requires the hacker to negotiate, make concessions and, generally, work within a community of potential users to produce, adopt and adhere to reasonable standards.
Building great software requires a great deal of discipline and interpersonal skill – in sharp contrast with the stereotype of a hacker as an unkempt, uncommunicative obsessive compulsive lacking basic hygiene and addicted to highly caffeinated drinks.
- Type
- Chapter
- Information
- Talking with ComputersExplorations in the Science and Technology of Computing, pp. 103 - 120Publisher: Cambridge University PressPrint publication year: 2004