PaulGraham

Paul Graham writes interesting stuff. His essays are full of good quote material. I recommend visiting his homepage every month or two and reading his latest essays.

http://www.paulgraham.com/

He also wrote two important books ¹. One of them is a Common Lisp intro and reference book, and the other dives right into what makes Common Lisp a great language. The book is called *On Lisp* and available for download from his site. ² He also has other interesting pages on his site, such as the one describing the features that made Lisp unique back when it got started. ³

¹

²

³

Quotes from The Age of the Essay

These quotes are from Paul Graham’s essay *The Age of the Essay* ⁴. It’s about how the study of literature and learning how to compose an essay was conflated some decades ago and how this results in high school students writing boring essays about literature instead of interesting things:

[...]due to a series of historical accidents the teaching of writing has gotten mixed together with the study of literature. And so all over the country students are writing not about how a baseball team with a small budget might compete with the Yankees, or the role of color in fashion, or what constitutes a good dessert, but about symbolism in Dickens.

Quotes from Hackers and Painters

These quotes are from Paul Graham’s essay *Hackers and Painters* ⁵. This is one of the essays that didn’t captivate me when I started reading it, so I decided to do some BackwardsReading.

BackwardsReading

Unfortunately very true:

If you want to make money, you tend to be forced to work on problems that are too nasty for anyone to solve for free.

I feel the same:

It drives me crazy to see code that’s badly indented, or that uses ugly variable names.

I don’t agree with his argument for code ownership. I guess PG believes that code ownership will make sure that owners can carefully craft code into something they really love, and therefore, it will be good. From my experience, however, my creativity does not work that well (see BeingCreative): I work best if I can take other peoples’ code, and I enjoy work most when I can look at code together with other people. That is why I like PairProgramming as described in the Xtreme Programming (XP) paradigm.

BeingCreative

PairProgramming

The right way to collaborate, I think, is to divide projects into sharply defined modules, each with a definite owner, and with interfaces between them that are as carefully designed and, if possible, as articulated as programming languages.

This is exactly what happened to me:

Many a hacker has written a program only to find on returning to it six months later that he has no idea how it works. I know several people who’ve sworn off Perl after such experiences.

I like this footnote:

A good programming language ought to be better for explaining software than English. You should only need comments when there is some kind of kludge you need to warn readers about, just as on a road there are only arrows on parts with unexpectedly sharp curves.

Much later I also read this interesting rebuttal.

rebuttal

Quotes from Great Hackers

Quotes from What You’ll Wish You’d Known