Material

Highly Unnatural Activities

I recently finished reading Coders at Work. Rather than another site on the Internet praising it or damning some particular person in it, these are just some quotes that gave me pause.

[Patterns] show some kind of defect in the language. These patterns are not free. There's no free lunch. So we should be looking for evolution in the language that adds the right bits. Brendan Eich, p.148

Merriam-Webster's Collegiate Dictionary, 11th Edition. Never go anywhere without it. It's not something you actually need to read, but as I said, when you're writing programs you need to be able to name your identifiers well. Joshua Bloch, p.172

But people just want to put stuff in. What do engineers do? They write code. And if they are writing a library or writing a language, they want to put their stuff in. You need some presence, some guiding voice... Because there's simply more stuff that you could put in than you should put in to any given language. Joshua Bloch, p.195

Over the years I've kind of made a generic mistake and the generic mistake is to not open the black box. Joe Armstrong, p.211

Nobody's going to build a bridge that traverses the Atlantic any time soon. And [unlike normal bridges,] that really might fall down if you built it. But that's not the reason people won't build it - it's just because it'd be too expensive. Whereas nowadays, with software, once you can build bridges over the Channel pretty quickly and cheaply, well then, that becomes a done deal and we now think that's pretty cheap so we'll now try the Atlantic. And now it falls apart again. Simon Peyton Jones, p.280

Programming is a highly unnatural activity, I'm convinced, and it must be carefully learned. Guy Steele, p.360

I don't care that the program works. The fact you're working here at all means that I expect you to be able to write programs that work. Writing programs that work is a skilled craft and you're good at it. Now you have to learn how to program. Bernie Cosell, p.542

Also, Simon Peyton Jones mentioned Steven Clarke's API usability studies, which I was not aware of, and seems like a ridiculously good investment of time and money.

Peter Seibel (the author) has been aggregating interview questions by topic on his blog, calling out testing and C++ so far.