{"id":16058,"date":"2015-05-20T15:36:33","date_gmt":"2015-05-20T20:36:33","guid":{"rendered":"http:\/\/blog.kenperlin.com\/?p=16058"},"modified":"2015-05-20T15:36:33","modified_gmt":"2015-05-20T20:36:33","slug":"programming-is-magic","status":"publish","type":"post","link":"http:\/\/blog.kenperlin.com\/?p=16058","title":{"rendered":"Programming is magic"},"content":{"rendered":"<p>To misquote Sarah Silverman, programming is magic.  And by this I mean something very specific.<\/p>\n<p>In the physical world we use tools to help us build things.  But the things we build are still made out of relatively stupid materials.  No matter how well made is a hammer or a saw, a piece of wood is still a piece of wood.  It doesn&#8217;t know anything about what you are going to create out of it, and it can&#8217;t help you very much, other than by acting exactly like a piece of wood.<\/p>\n<p>Programmers learn to see things differently.  When you program, you are really mainly in the business of building very smart materials &#8212; objects that know all sorts of things about how you will assemble them together, and that can actively help you to build with them.<\/p>\n<p>If a piece of wood were a software object, it would already know how to align itself perfectly with other pieces of wood, to create a set of notches in itself for making a dovetail joint, or how to ensure that any nails or screws you drive into it will always land in exactly the right place.<\/p>\n<p>And once a single piece of wood knows how to do all of those things, then every piece of wood also gains the same knowledge.  If you try to think of analogous situations in the physical world, the closest parallel is to the laws of magic.<\/p>\n<p>Sometime in the coming decades, when we are all living in an eccescopically enhanced world, in which atoms and bits blend much more seamlessly than they do today, the way people construct things in the physical world will become ever more aligned with the way that programmers already think about creating things.<\/p>\n<p>Imagine someone from today&#8217;s world, suddenly transported to that future time.  They would look the way every day things were constructed, and they would think that they had entered a world of pure magic.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To misquote Sarah Silverman, programming is magic. And by this I mean something very specific. In the physical world we use tools to help us build things. But the things we build are still made out of relatively stupid materials. No matter how well made is a hammer or a saw, a piece of wood &hellip; <a href=\"http:\/\/blog.kenperlin.com\/?p=16058\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Programming is magic&#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":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/16058"}],"collection":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16058"}],"version-history":[{"count":1,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/16058\/revisions"}],"predecessor-version":[{"id":16059,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/16058\/revisions\/16059"}],"wp:attachment":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16058"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}