More on this book
Community
Kindle Notes & Highlights
by
Paul Graham
Read between
October 21 - October 26, 2023
It is not merely an accident of history that the great paintings of the Renaissance are all full of people.
we seem to have a very limited capacity for dealing with detail.
A program, like a proof, is a pruned version of a tree that in the past has had false starts branching off all over it. So the test of a language is not simply how clean the finished program looks in it, but how clean the path to the finished program was.
You don’t want to end up with a programming language like marble.
To get good design you have to get close, and stay close, to your users. You have to calibrate your ideas on actual users constantly.
One of the reasons Jane Austen’s novels are so good is that she read them out loud to her family. That’s why she never sinks into self-indulgently arty descriptions of landscapes, or pretentious philosophizing. (The philosophy’s there, but it’s woven into the story instead of being pasted onto it like a label.)
In the software world, this idea is known as Worse is Better.
the main ideas in that mix is that if you’re building something new, you should get a prototype in front of users as soon as possible.
Now almost every drawing teacher will tell you that the right way to get an accurate drawing is not to work your way slowly around the contour of an object, because errors will accumulate and you’ll find at the end that the lines don’t meet. Instead you should draw a few quick lines in roughly the right place, and then gradually refine this initial sketch.
Morale is key in design.
Building something by gradually refining a prototype is good for morale because it keeps you engaged.
“A painting is never finished. You just stop working on it.”