{"id":30613,"date":"2016-11-13T01:00:03","date_gmt":"2016-11-13T06:00:03","guid":{"rendered":"http:\/\/quotulatiousness.ca\/blog\/?p=30613"},"modified":"2016-11-04T09:09:21","modified_gmt":"2016-11-04T13:09:21","slug":"qotd-dont-call-it-software-engineering","status":"publish","type":"post","link":"https:\/\/quotulatiousness.ca\/blog\/2016\/11\/13\/qotd-dont-call-it-software-engineering\/","title":{"rendered":"QotD: Don&#8217;t call it software engineering"},"content":{"rendered":"<blockquote><p>The #gotofail episode will become a text book example of not just poor attention to detail, but moreover, the importance of disciplined logic, rigor, elegance, and fundamental coding theory.<\/p>\n<p>A still deeper lesson in all this is the fragility of software. Prof Arie van Deursen nicely describes the iOS7 routine as &#8220;brittle&#8221;. I want to suggest that all software is tragically fragile. It takes just one line of silly code to bring security to its knees. The sheer non-linearity of software &mdash; the ability for one line of software anywhere in a hundred million lines to have unbounded impact on the rest of the system &mdash; is what separates development from conventional engineering practice. Software doesn\u2019t obey the laws of physics. No non-trivial software can ever be fully tested, and we have gone too far for the software we live with to be comprehensively proof read. We have yet to build the sorts of software tools and best practice and habits that would merit the title &#8220;engineering&#8221;.<\/p>\n<p>I\u2019d like to close with a philosophical musing that might have appealed to my old mentors at Telectronics. Post-modernists today can rejoice that the real world has come to pivot precariously on pure text. It is weird and wonderful that technicians are arguing about the layout of source code &mdash; as if they are poetry critics.<\/p>\n<p>We have come to depend daily on great obscure texts, drafted not by people we can truthfully call &#8220;engineers&#8221; but by a largely anarchic community we would be better of calling playwrights.<\/p>\n<p>Stephan Wilson, <a href=\"http:\/\/lockstep.com.au\/blog\/2014\/02\/26\/gotofail\" target=\"_blank\">&#8220;gotofail and a defence of purists&#8221;, <em>Lockstep<\/em><\/a>, 2014-02-26.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>The #gotofail episode will become a text book example of not just poor attention to detail, but moreover, the importance of disciplined logic, rigor, elegance, and fundamental coding theory. A still deeper lesson in all this is the fragility of software. Prof Arie van Deursen nicely describes the iOS7 routine as &#8220;brittle&#8221;. I want to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":35193,"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":[41,15],"tags":[160,590,156,92],"class_list":["post-30613","post","type-post","status-publish","format-standard","hentry","category-quotations","category-technology","tag-apple","tag-engineering","tag-fail","tag-software"],"jetpack_featured_media_url":"https:\/\/quotulatiousness.ca\/blog\/wp-content\/uploads\/2016\/06\/favicon.png","jetpack_shortlink":"https:\/\/wp.me\/p2hpV6-7XL","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/posts\/30613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/comments?post=30613"}],"version-history":[{"count":1,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/posts\/30613\/revisions"}],"predecessor-version":[{"id":30614,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/posts\/30613\/revisions\/30614"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/media\/35193"}],"wp:attachment":[{"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/media?parent=30613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/categories?post=30613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quotulatiousness.ca\/blog\/wp-json\/wp\/v2\/tags?post=30613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}