4 ms·
Further, open code means that other researchers can come along and write unit tests. It amazes me how much code is still verified manually if at all in the scie
by substack 16y ago
Further, open code means that other researchers can come along and write unit tests. It amazes me how much code is still verified manually if at all in the sciences.
- whyenot 16y agoA lot of code in the sciences is used once or only a few times. You crunch the data, write the paper and move on to the next research project. You don't get tenure for writing unit tests.
- _sh 16y agoAnd you don't make friends with salad, i.e. you certainly won't make tenure when your paper is demonstrated as flawed due to errors in crunching the data that would have turned up with testing.
- joe_the_user 16y agoAh, and that brings us back to why many scientists don't publish at all now... As long as not publishing code is standard, there's a incentive to do it since it might open you to career-withering criticism...
- deleted 16y ago[deleted]
- nervechannel 16y agoConsider this though: I have tried to explain (With limited success) to my colleagues in bioinformatics that not unit-testing your code is like using an instrument that hasn't been calibrated, and blindly trusting the results to be right.
- jonhendry 16y agoThey may not unit test it, in the software development sense, but they probably hand-check a new bit of calculation code on a few data points before setting it loose on a whole data set.
- nervechannel 16y agoYes, or sometimes even less rigour than this: run some data and see if the results "look right". This is the standard procedure for when you've developed a complex algorithm to do something novel, and actually working through it by hand would take hours. I should know, this is how I used to do it before I knew better, and as a result one of my published papers has (very slight) numerical errors in.