{"id":2771,"date":"2009-12-19T17:45:49","date_gmt":"2009-12-19T22:45:49","guid":{"rendered":"http:\/\/blog.kenperlin.com\/?p=2771"},"modified":"2009-12-19T17:45:49","modified_gmt":"2009-12-19T22:45:49","slug":"literature","status":"publish","type":"post","link":"https:\/\/blog.kenperlin.com\/?p=2771","title":{"rendered":"Literature"},"content":{"rendered":"<p>Circling around the topic of programming without math &#8212; but not quite landing back there yet &#8212; I remember a very evocative conversation I had with Marvin Minsky up at MIT about five and a half years ago.  We got onto this very topic &#8211; the question of whether there would ever be such a thing as universal programming.  To put this into some context, Marvin is not only one of the founding gods of the field of artificial intelligence, he was also a key mentor for Terry Winograd back when Terry was doing his SHRDLU work.  So Marvin&#8217;s interest in such subjects goes back to the very beginnings of the era of modern computers.<\/p>\n<p> I asked him whether there could be a computer programming language learnable by all.  Marvin&#8217;s response was unique, and rather profound.  He said &#8220;Computer science already has a grammar.  What it needs is a <i>literature<\/i>.&#8221;<\/p>\n<p>There are a lot of implications nestled within this response.  When I think of a &#8220;literature&#8221;, I think of the fact that we all enjoy reading what each other has written.  We read Jane Austin, Woody Allen, Stephen King or Alice Munro for fun.  It&#8217;s not work, it&#8217;s enjoyment.  If I write a prose piece and nobody ever wants to read it, then on some fundamental level I have failed.<\/p>\n<p>When we talk about computer programming the situation is not so simple, because there are two artifacts: the computer program itself, and the resulting runnable program.  In today&#8217;s world, most people who play around with a program you&#8217;ve written will never look at your code.<\/p>\n<p>Marvin&#8217;s response suggests the possibility of a different relationship between the written program and the user&#8217;s experience &#8212; one in which program and experience are not kept separate, but rather are intertwined with each other.   If we look at the user as a <i>reader<\/i> &#8212; analogous to the way we think of the reader of a novel &#8212; then we want the user to be aware of the written program, with sufficient literacy to be able to appreciate, and even critically comment upon, the author&#8217;s process.<\/p>\n<p>Of course this is very different from the world of computer programming as it exists today.  But I think Marvin is right:  In order to truly enjoy a medium on a cultural level, we all need to be able to appreciate the beauty within the process of creating the work, not just within the final result.  Whether it be dance, music, architecture or the novel, we learn to fully appreciate art only when we understand something of how it was made.<\/p>\n<p>And so it will be when the ability to program expands beyond the realm of math\/science and becomes a universally accepted mode of cultural production.  When that happens, we will be able to read each other&#8217;s programs with a casual facility that will simply be taken for granted. And then programming will be on its way to developing a literature.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Circling around the topic of programming without math &#8212; but not quite landing back there yet &#8212; I remember a very evocative conversation I had with Marvin Minsky up at MIT about five and a half years ago. We got onto this very topic &#8211; the question of whether there would ever be such a &hellip; <a href=\"https:\/\/blog.kenperlin.com\/?p=2771\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Literature&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/2771"}],"collection":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2771"}],"version-history":[{"count":1,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/2771\/revisions"}],"predecessor-version":[{"id":2772,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/2771\/revisions\/2772"}],"wp:attachment":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}