{"id":11086,"date":"2015-04-27T11:53:10","date_gmt":"2015-04-27T15:53:10","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=11086"},"modified":"2015-04-27T11:53:10","modified_gmt":"2015-04-27T15:53:10","slug":"mythology","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2015\/04\/27\/mythology\/","title":{"rendered":"Mythology"},"content":{"rendered":"<p><a href=\"http:\/\/khanlou.com\/2015\/04\/mythology\/\">Soroush Khanlou<\/a>:<\/p>\n<blockquote cite=\"http:\/\/khanlou.com\/2015\/04\/mythology\/\">\n<p>In <a href=\"http:\/\/exple.tive.org\/blarg\/2013\/10\/22\/citation-needed\/\">one of my favorite posts of all time<\/a>, Mike Hoye looks up exactly <em>why<\/em> we use zero indexed arrays. To spoil it, he finds that it was to optimize for <em>compilation<\/em> speed (rather than execution speed) on hardware where you only had a limited time to run your job.<\/p>\n<p>[&#8230;]<\/p>\n<p>Why has MVC attained this state of reverence when it&rsquo;s trivial to find cases where it doesn&rsquo;t apply? And it&rsquo;s not as though MVC is a mere suggestion: the Cocoa documentation actually states that every object has to be either a Model, a View, or a Controller, even though there are objects within Cocoa that don&rsquo;t even fit in one of those three categories! &ldquo;MVC&rdquo; isn&rsquo;t a rigorously-defined term anymore, but rather a necessary, low-information signal to other developers that our new framework fits into their worldview.<\/p>\n<p>[&#8230;]<\/p>\n<p>C-style syntax probably will never go away as long as we have text-based programming languages. Even Swift, which tries to fix tons of flaws in programming, doesn&rsquo;t even begin to move away from C-style syntax. It&rsquo;s too ingrained in the way we view code.<\/p>\n<p>[&#8230;]<\/p>\n<p>It&rsquo;s too easy to continue doing what we&rsquo;ve always done. I want to question all the constants in my programming career. The things that are already status quo are don&rsquo;t need cheerleading: they&rsquo;re already winning. But the weird ideas, the undersung ones, those are the ones we should be championing.<\/p>\n<\/blockquote>\n<p>Previously: <a href=\"http:\/\/mjtsai.com\/blog\/2013\/10\/30\/why-array-indices-start-at-zero\/\">Why Array Indices Start at Zero<\/a>. I find Hoye&rsquo;s post interesting but not entirely convincing.<\/p>","protected":false},"excerpt":{"rendered":"<p>Soroush Khanlou: In one of my favorite posts of all time, Mike Hoye looks up exactly why we use zero indexed arrays. To spoil it, he finds that it was to optimize for compilation speed (rather than execution speed) on hardware where you only had a limited time to run your job. [&#8230;] Why has [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[45,69,295,374,71,901],"class_list":["post-11086","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-c","tag-cocoa","tag-history","tag-mvc","tag-programming","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/11086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=11086"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/11086\/revisions"}],"predecessor-version":[{"id":11087,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/11086\/revisions\/11087"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=11086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=11086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=11086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}