Paul Graham released his much haussed programming language Arc some time ago. The general reaction was very negative, people had had very high expectations and were very disappointed. Defending himself, Paul Graham writes that this reaction is to be expected, the stuff he makes is often so ground breaking that people don't realize there is something important there. And he goes on to explain his six principles for making new things:
I like to find (a) simple solutions (b) to overlooked problems (c) that actually need to be solved, and (d) deliver them as informally as possible, (e) starting with a very crude version 1, then (f) iterating rapidly.

This got me thinking about how I tend to make new things. I agree completely with points a and b. Point c doesn't always apply for me. Sometimes I do things just because they're fun, intellectually stimulating.

As for points d, e and f I usually do the opposite. I try to find the perfect solution from the get go and I usually don't release things until I'm completely satisfied with them. This is not how I would like to work though. I think they way Paul Graham does things is much better. I guess I'm afraid of the critique I will get from delivering imperfect solutions, especially to problems that don't seem important. I have to work a bit on my trust issues.

In the end, Paul Graham's article doesn't explain what important and overlooked problem Arc solves. I'd really like to know because I don't think it looks that impressive either. So please, mr. Graham, instead of just calling us dumb, please explain why your solution is such a stroke of genius.

1 comment:

Anonymous said...

There is a saying that has helped me: "Don't let the perfect stand in the way of the good". Accepting that what you put out might have overlooked flaws does increse productivity tremedously.
Cousin S.