Scientists are learning programming at an unprecedented rate.
I’ve expressed concern over the fast-paced growth of computing
across the sciences and what this could mean for reproducibility
and incorrect findings in the sciences. Perhaps the best example
that illustrates the severity of this issue is Coombes and
Baggerly’s Duke Saga. I think a lot about how scientists learn
programming and how we can change this process to yield a better
outcome (fewer errors, more readible and reproducible code).
Scientific coders must learn to program in a particular fashion
that “stacks the deck” to make errors apparent. On this front,
unit tests, following coding standards, and peer code review get
a lot of deserved attention. Yet for some reason, visualization
does not. This is unfortunate; visualization should be learned
to a high degree of competency very early on in a programmer’s
career. Neil DeGrasse Tyson has an excellent saying: “If you are
scientifically literate the world looks very different to you.”
Similarly,