{"id":1162,"date":"2017-10-01T17:43:00","date_gmt":"2017-10-01T16:43:00","guid":{"rendered":"http:\/\/silta.es\/juantatay\/2017\/10\/01\/the-coming-software-apocalypse\/"},"modified":"2017-10-01T17:43:00","modified_gmt":"2017-10-01T16:43:00","slug":"the-coming-software-apocalypse","status":"publish","type":"post","link":"https:\/\/silta.es\/juantatay\/the-coming-software-apocalypse\/","title":{"rendered":"The Coming Software Apocalypse"},"content":{"rendered":"<p>The serious problems that have happened with software have to do with requirements, not coding errors.<br \/><span style=\"color: #0000ee; text-decoration: underline;\">The Coming Software Apocalypse &#8211; The Atlantic<\/span><\/p>\n<blockquote><p>The programmer, the renowned Dutch computer scientist Edsger Dijkstra wrote in 1988, \u201chas to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before.\u201d Dijkstra meant this as a warning. As programmers eagerly poured software into critical systems, they became, more and more, the linchpins of the built world\u2014and Dijkstra thought they had perhaps overestimated themselves.&nbsp;<\/p><\/blockquote>\n<blockquote><p>\u201cThe problem is that software engineers don\u2019t understand the problem they\u2019re trying to solve, and don\u2019t care to,\u201d says Leveson, the MIT software-safety expert. The reason is that they\u2019re too wrapped up in getting their code to work. \u201cSoftware engineers like to provide all kinds of tools and stuff for coding errors,\u201d she says, referring to IDEs. \u201cThe serious problems that have happened with software have to do with requirements, not coding errors.\u201d When you\u2019re writing code that controls a car\u2019s throttle, for instance, what\u2019s important is the rules about when and how and by how much to open it. But these systems have become so complicated that hardly anyone can keep them straight in their head. \u201cThere\u2019s 100 million lines of code in cars now,\u201d Leveson says. \u201cYou just cannot anticipate all these things.\u201d&nbsp;<\/p><\/blockquote>\n<blockquote><p>In a recent essay, Victor implored professional software developers to stop pouring their talent into tools for building apps like Snapchat and Uber. \u201cThe inconveniences of daily life are not the significant problems,\u201d he wrote. Instead, they should focus on scientists and engineers\u2014as he put it to me, \u201cthese people that are doing work that actually matters, and critically matters, and using really, really bad tools.\u201d Exciting work of this sort, in particular a class of tools for \u201cmodel-based design,\u201d was already underway, he wrote, and had been for years, but most programmers knew nothing about it.&nbsp;<\/p><\/blockquote>\n<blockquote><p>\u201cHuman intuition is poor at estimating the true probability of supposedly \u2018extremely rare\u2019 combinations of events in systems operating at a scale of millions of requests per second,\u201d he wrote in a paper. \u201cThat human fallibility means that some of the more subtle, dangerous bugs turn out to be errors in design; the code faithfully implements the intended design, but the design fails to correctly handle a particular \u2018rare\u2019 scenario.\u201d<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>The serious problems that have happened with software have to do with requirements, not coding errors.The Coming Software Apocalypse &#8211; The Atlantic The programmer, the renowned Dutch computer scientist Edsger Dijkstra wrote in 1988, \u201chas to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed  [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[45],"tags":[],"class_list":["post-1162","post","type-post","status-publish","format-standard","hentry","category-informatica"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts\/1162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/comments?post=1162"}],"version-history":[{"count":0,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/posts\/1162\/revisions"}],"wp:attachment":[{"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/media?parent=1162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/categories?post=1162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silta.es\/juantatay\/wp-json\/wp\/v2\/tags?post=1162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}