{"id":8103,"date":"2020-05-18T08:52:30","date_gmt":"2020-05-18T14:52:30","guid":{"rendered":"https:\/\/www.zmetro.com\/?p=8103"},"modified":"2020-05-18T08:52:30","modified_gmt":"2020-05-18T14:52:30","slug":"an-open-letter-to-software-engineers-criticizing-neil-fergusons-epidemics-simulation-code","status":"publish","type":"post","link":"https:\/\/www.zmetro.com\/?p=8103","title":{"rendered":"An open letter to software engineers criticizing Neil Ferguson\u2019s epidemics simulation code"},"content":{"rendered":"<p><a href=\"http:\/\/blog.khinsen.net\/posts\/2020\/05\/18\/an-open-letter-to-software-engineers-criticizing-neil-ferguson-s-epidemics-simulation-code\/\">Konrad Hinsen:<\/a><\/p>\n<blockquote><p>But the main message of this letter is something different: it\u2019s about your role in this story. That\u2019s of course a collective you, not you the individual reading this letter. It\u2019s you, the software engineering community, that is responsible for tools like C++ that look as if they were designed for shooting yourself in the foot. It\u2019s also you, the software engineering community, that has made no effort to warn the non-expert public of the dangers of these tools. Sure, you have been discussing these dangers internally, even a lot. But to outsiders, such as computational scientists looking for implementation tools for their models, these discussions are hard to find and hard to understand. There are lots of tutorials teaching C++ to novices, but I have yet to see a single one that starts with a clear warning about the dangers. You know, the kind of warning that every instruction manual for a microwave oven starts with: don\u2019t use this to dry your dog after a bath. A clear message saying \u201cUnless you are willing to train for many years to become a software engineer yourself, this tool is not for you.\u201d<\/p><\/blockquote>\n<blockquote><p>As a famous member of your community famously said, software is eating the world. That gives you, dear software engineers, a lot of power in modern society. But power comes with responsibility. If you want scientists to construct reliable implementations of models that matter for public health decisions, the best you can do is make good tools for that task, but the very least you must do is put clear warning signs on tools that you do not want scientists to use &#8211; always keeping in mind that scientists are not software engineers, and have neither the time nor the motivation to become software engineers.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Konrad Hinsen: But the main message of this letter is something different: it\u2019s about your role in this story. That\u2019s of course a collective you, not you the individual reading this letter. It\u2019s you, the software engineering community, that is responsible for tools like C++ that look as if they were designed for shooting yourself [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.zmetro.com\/index.php?rest_route=\/wp\/v2\/posts\/8103"}],"collection":[{"href":"https:\/\/www.zmetro.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zmetro.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zmetro.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zmetro.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8103"}],"version-history":[{"count":1,"href":"https:\/\/www.zmetro.com\/index.php?rest_route=\/wp\/v2\/posts\/8103\/revisions"}],"predecessor-version":[{"id":8104,"href":"https:\/\/www.zmetro.com\/index.php?rest_route=\/wp\/v2\/posts\/8103\/revisions\/8104"}],"wp:attachment":[{"href":"https:\/\/www.zmetro.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zmetro.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zmetro.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}