{"id":2273,"date":"2003-05-06T21:27:51","date_gmt":"2003-05-07T00:27:51","guid":{"rendered":"http:\/\/brockerhoff.net\/bb\/viewtopic.php?p=431"},"modified":"2010-05-09T00:03:47","modified_gmt":"2010-05-09T03:03:47","slug":"hackers-and-painters","status":"publish","type":"post","link":"https:\/\/brockerhoff.net\/blog\/2003\/05\/06\/hackers-and-painters\/","title":{"rendered":"Hackers and Painters"},"content":{"rendered":"<p>Any programmer should read <a href=\"http:\/\/www.paulgraham.com\/hp.html\">Hackers and Painters<\/a>, an excellent essay by <a href=\"http:\/\/www.paulgraham.com\/bio.html\">Paul Graham<\/a>, about the similarities between painting and programming:<\/p>\n<blockquote><p>For example, I was taught in college that one ought to figure out a program completely on paper before even going near a computer.  I found that I did not program this way.  I found that I liked to program sitting in front of a computer, not a piece of paper.  Worse still, instead of patiently writing out a complete program and assuring myself it was correct, I tended to just spew out code that was hopelessly broken, and gradually beat it into shape.  Debugging, I was taught, was a kind of final pass where you caught typos and oversights.  The way I worked, it seemed like programming consisted of debugging.<\/p>\n<p>For a long time I felt bad about this, just as I once felt bad that I didn&#8217;t hold my pencil the way they taught me to in elementary school. If I had only looked over at the other makers, the painters or the architects, I would have realized that there was a name for what I was doing: sketching.  As far as I can tell, the way they taught me to program in college was all wrong. You should figure out programs as you&#8217;re writing them, just as writers and painters and architects do.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Any programmer should read Hackers and Painters, an excellent essay by Paul Graham, about the similarities between painting and programming: For example, I was taught in college that one ought to figure out a program completely on paper before even going near a computer. I found that I did not program this way. I found [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-2273","post","type-post","status-publish","format-standard","hentry","category-dev"],"featured_image_src":null,"author_info":{"display_name":"Rainer Brockerhoff","author_link":"https:\/\/brockerhoff.net\/blog\/author\/rbrockerhoff\/"},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1q3Zc-AF","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts\/2273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/comments?post=2273"}],"version-history":[{"count":0,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts\/2273\/revisions"}],"wp:attachment":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/media?parent=2273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/categories?post=2273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/tags?post=2273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}