Catching Elephant is a theme by Andy Taylor (slightly modified)

 

That experience taught me a lot about what really matters in programming. It is not about solving puzzles and being the brightest kid in the class. It is about realizing that the complexity of software dwarfs even the most brilliant human; that cleverness cannot win. The only weapons we have are simplicity and convention.

People who work on social software are closer in spirit to economists and political scientists than they are to people making compilers. They both look like programming, but when you’re dealing with groups of people as one of your run-time phenomena, that is an incredibly different practice.

My definition of fragile code is, suppose you want to add a feature — good code, there’s one place where you add that feature and it fits; fragile code, you’ve got to touch ten places.

Ken Thompson, quoted by Peter Seibel in Coders at Work (p 467)

…Halfway through there I realized it was a real time-sharing system. I was writing the shell to drive the file system. And then I was writing a couple other programs that drove the file system. And right about there I said, ‘All I need is an editor and I’ve got an operating system.’

Ken Thompson, one of the creators of Unix, quoted by Peter Seibel in Coders at Work (p 465)

I’ve never been a lover of existing code. Code by itself almost rots and its gotta be rewritten. Even when nothing has changed, for some reason it rots.

Ken Thompson, quoted by Peter Seibel in Coders at Work (p 460)

Documenting is an art as fine as programming.

Ken Thompson, quoted by Peter Seibel in Coders at Work (p 461)

… The difference is that the principles for dealing with algorithmic problems are based a lot more directly on 5,000 or 10,000 years’ worth of history in mathematics. How we go about programming now, we don’t have anything like that foundation to build on. Which is one of the reasons why do much software is crap: we don’t really know what we’re doing yet.

L Peter Deutch, quoted by Peter Seibel in Coders at Work (p 421)

In the spectrum of implementers, I probably err on the side of just making things happen. A lot of that is because I get so much of a thrill bringing things to life that it doesn’t even matter if it’s wrong at first. The point is, that as soon as it comes to life it starts telling you what it is.

Dan Ingalls, quoted by Peter Seibel in Coders at Work (p 383-4)

Programming is a highly unnatural activity, I’m convinced, and it must be carefully learned. People are used to the listeners filling in the gaps.… I think most people are not used to be being very precise and rigorous in their communications. But when we are describing processes to be carried out, little details do matter because a change in a small detail can affect the gross outcome of the process.

Guy Steele, quoted by Peter Seibel in Coders at Work, p 360.

I think it’s quite unprofessional these people who say, ” What does it do? Read the code.” The code shows me what it does. It doesn’t show me what it’s supposed to do. I think the code is the answer to a problem. If you don’t have the spec or you don’t have any documentation, you have to guess what the problem is from the answer. You might guess wrong.

Joe Armstrong, quoted by Peter Seibel in Coders at Work (p 231-2)

Certainly I’ve experienced some toe loss due to C and C++’s foot guns.

Brendan Eich, quoted by Peter Seibel in Coders at Work (p 147)

I think it’s really difficult to write good code in a sloppy manner.… ¶ Readability of code is now my first priority. It’s more important than being fast, almost as important as being correct, but I think being readable is actually the most likely way of making it correct.

Douglas Crockford, quoted by Peter Seibel in Coders at Work (p 107)