My all-time favorite programming quote has to be this Nathaniel Borenstein bon mot:
It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
It's too perfect. Never have programmers been more neatly summarized.
There are a few great collections of programming quotes on the web which are fun to browse through:
- Programming Quotations
- Quotes about Computer Languages
- Quotes about Programmers
- Computer Programming Quotes (good, but many unsourced)
- Programming - Wikiquote
If I find a quote that resonates with me, I research the person behind the quote. Larry Wall is a good example:
I think that the biggest mistake people make is latching onto the first idea that comes to them and trying to do that. It really comes to a thing that my folks taught me about money. Don't buy something unless you've wanted it three times. Similarly, don't throw in a feature when you first think of it. Think if there's a way to generalize it, think if it should be generalized. Sometimes you can generalize things too much. I think like the things in Scheme were generalized too much. There is a level of abstraction beyond which people don't want to go. Take a good look at what you want to do, and try to come up with the long-term lazy way, not the short-term lazy way.
Jason Kottke did most of the work for me by putting together a great Larry Wall reading list:
- Natural Language Principles in Perl
- Perl, the first postmodern computer language
- A Conversation with Larry Wall
- Linguistics and Perl
If that's too much rah-rah Perl action for you, read this article questioning the future of Perl in Bugzilla to get some equal time. But I don't have to dogmatically accept Perl to respect Larry Wall. I doubt Larry would want me to, anyway. It's not about the language; it's about learning to understand programmers as human beings.
You can't know every notable personality in the field of computer science. But reading through some of their quotes is as good a place as any to start. It's one way to find out, at least peripherally, who the giants are in the industry, and what they're most famous for. Browsing through quotes also lets you figure out who your influences are-- or should be. Personally, I'd cite Jef Raskin and Steve McConnell as my two greatest influences.
Who are the greatest influences on your work as a software developer? And more importantly, what's your favorite quote from your influences?