{"id":458,"date":"2011-01-12T16:56:28","date_gmt":"2011-01-12T21:56:28","guid":{"rendered":"http:\/\/alarmingdevelopment.org\/?p=458"},"modified":"2011-01-13T11:52:44","modified_gmt":"2011-01-13T16:52:44","slug":"still-alive","status":"publish","type":"post","link":"https:\/\/alarmingdevelopment.org\/?p=458","title":{"rendered":"Still Alive"},"content":{"rendered":"<p>Hey, long time. Having a snow day here, which is a good day to catch up. My son got sick this summer, which knocked me out of commission for a while, but I am back to work now. As promised last June, I have defined the formal semantics of a core language that captures the key ideas of side-effects in a tree-structured heap without sequential programming. I have formulated confluence and soundness theorems that seem plausible (though I haven&#8217;t tried to prove them). So I don&#8217;t think it will collapse under me like Coherence did. One of the next steps is to build a reasonably usable textual syntax that can be compiled into the core language. By reasonably usable, I mean usable for expressing small examples up to a hundred lines of code, which is the minimum I need to communicate the idea to others. The working title of the language is <em>flux<\/em>.<br \/>\n<!--more--><\/p>\n<p>The other critical step is to formulate a compelling example problem. The Task example &#8211; a side effect ordering puzzle &#8211; just doesn&#8217;t hack it. Thanks to those who were willing to tell me so to my face. In fact I am coming to believe that I must change my whole strategy. My goal is to make programming easier: the needless complexity of programming is killing us all. But our culture prevents us from admitting it. We have been selected for our ability to cope with stupefying complexity, so we tend to glorify it. To say that programming is too hard (for even the smartest of us) is interpreted as an admission of stupidity, which is suicide in our culture. That is exactly what people say when my ideas leak out onto public forums like Hacker News: this stuff is just for stupid people, and I am one of them. I won&#8217;t get far solving problems that most people don&#8217;t admit they have. <\/p>\n<p>Instead, I am thinking of taking on the old Holy Grail of transparent distributed programming. That is, the ability to build an application as if it were running on a single system, and then partition it across distributed clients and servers without any code changes, while maintaining performance and security. No one seems to care much about software complexity (they just hire more code monkeys), but they get all excited about performance and security. Sequential programming (particularly method calls) is a big problem for distributed processing. Whereas my parallel semantics could work better. More to come on this topic&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey, long time. Having a snow day here, which is a good day to catch up. My son got sick this summer, which knocked me out of commission for a while, but I am back to work now. As promised last June, I have defined the formal semantics of a core language that captures the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/alarmingdevelopment.org\/?p=458\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Still Alive&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","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":[1],"tags":[],"class_list":["post-458","post","type-post","status-publish","format-standard","hentry","category-general"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pfEnU-7o","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=458"}],"version-history":[{"count":11,"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=\/wp\/v2\/posts\/458\/revisions"}],"predecessor-version":[{"id":477,"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=\/wp\/v2\/posts\/458\/revisions\/477"}],"wp:attachment":[{"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alarmingdevelopment.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}