I'm somewhat skeptical. Firstly, I don't think the language is the problem with scientific code. You can write messy code in any language. So the warning then has to be about writing software in general. In that case, I think a warning like "don't try to write software unless you have years of training" is a bit much. Many people with no training learn to write nice code. Many projects made by amateurs might have ugly code but still add something to the world (eg. many games).
The problem here is the project is influencing decisions in healthcare.
Having worked in HPC and academia, I've seen code like this a lot. There are two archetypes I've noticed: (1) the well-meaning older academic maintaining legacy code, who have often done a lot of convergence testing, but still have code that isn't up to modern engineering practices, and (2) the domain experts with the attitude that "programming is much easier than my area of domain expertise". These are problems that require attitude changes within academia, not better warnings on online tutorials. The second group are going to ignore the warnings anyway.
Remember many of the people writing this academic code also teach programming courses in their departments! They view themselves as programming experts.
I'd like to point out I've met a lot of software engineers that subscribe to two in reverse. "This domain area of expertise is much easier than programming, ergo I am qualified to solve it."
This model didn't just influence decisions in healthcare. It single-handedly changed the UK government's strategy over this pandemic.
From what I understand the UK was planning on beating COVID by creating herd immunity, similarly to Sweden.
Then this model came out and everyone started yelling that Boris wanted to kill your grandma.
The problem is that it's impossible to have an intelligent discussion over this. This pandemic became a partisan issue. We're not discussing whether one of the most impactful decisions made by a government this generation should be based over absolute trash code.
You're either uncritical of the lockdown or "anti-science".
> creating herd immunity, similarly to Sweden.
> ...
> The problem is that it's impossible to have an intelligent discussion over this.
As far as I can tell the Swedish government never had this plan. It was mentioned in an interview and dismissed as unworkable, journalists misunderstood.
On the other hand the UK government appears to have had no plans whatever until jolted into action by the fear that public opinion would turn against them.
What Sweden has done is similar to Norway, where I live, which relies largely on voluntary changes in behaviour and temporary closure of institutions and businesses that require close contact between employees and customers. But Sweden took longer to implement those measures and also Swedish society is different from Norway, anecdotally Swedes seem to me to be more urban people than Norwegians and more gregarious.
Exactly why Sweden has a much higher death rate, 36/100k inhabitants versus 4.3/100k in Norway, is unclear at the moment partly because of different definitions but also because of differing conditions, and the epidemic being at different stages in the two countries.
The reason it seemed they were doing nothing are these passages:
ii. Minimise the potential impact of a pandemic on society and the economy by:
• Supporting the continuity of essential services, including the supply of medicines,
and protecting critical national infrastructure as far as possible.
• Supporting the continuation of everyday activities as far as practicable.
• Upholding the rule of law and the democratic process.
• Preparing to cope with the possibility of significant numbers of additional deaths.
• Promoting a return to normality and the restoration of disrupted services at the
earliest opportunity.
There's way more, but I've honestly not read it all. But there was a plan, drafted before this epidemic.
Public opinion was turning against the government, but it actually kept course for some time. Something I was honestly impressed with. What made it drop the plan was Neil Ferguson's study.
What really gets me is that if the lockdown was the correct decision, we arrived there for the wrong reasons.
This paper had such an outsized impact that it should be held to a higher standard. And it's scary (but not really unexpected) that the government is making decisions of this magnitude based on such a shaky foundation.
> beating COVID by creating herd immunity, similarly to Sweden
The big problem here is that herd immunity requires that either you have a vaccine or you get some large fraction of the population infected, over 50%.
The death rate is about 1%, plus further people suffering long-term complications.
So achieving herd immunity in the UK would require about 300,000 dead.
Yeah, requiring years of training to write anything is nonsense. Everybody should learn to write code, and there's tons of interesting stuff you can do without knowing software engineering best-practices. Not every scientific model has to scale to industrial scale or be maintainable by many people over many years.
My problem is entirely with the article that blames the tool they chose and the software engineering community that didn't put big warning stickers on that tool.
The problem here is the project is influencing decisions in healthcare.
Having worked in HPC and academia, I've seen code like this a lot. There are two archetypes I've noticed: (1) the well-meaning older academic maintaining legacy code, who have often done a lot of convergence testing, but still have code that isn't up to modern engineering practices, and (2) the domain experts with the attitude that "programming is much easier than my area of domain expertise". These are problems that require attitude changes within academia, not better warnings on online tutorials. The second group are going to ignore the warnings anyway.
Remember many of the people writing this academic code also teach programming courses in their departments! They view themselves as programming experts.