3 ms·
Science is inherently a low stakes game. Most scientists are competing for budgets of no more than a few million a year, if they are really successful. There is
by orbifold 6y ago
Science is inherently a low stakes game. Most scientists are competing for budgets of no more than a few million a year, if they are really successful. There is little reward for producing excellent code, but a lot of reward for producing atrocious code to publish in prestigious journals.
If you want to be truly horrified look into the practices surrounding NEURON, a simulation tool that has been used to publish simulations since the 80s. You have to write code in a domain specific language called Hoc, that code is typically littered with hard coded constants. Code is copied over from one paper to the next, etc. Code is a means to an end, not something that is held in high regard. Moreover improving someone else's code style or quality won't earn you a degree or praise. Starting a competing "higher quality" project is bound to annoy or anger the establish players. It will be hard to get funding for it, because those players will likely review your proposal. In any case there is typically a 10-20 year gap between the people doing any decisions and the people actually doing any practical work.
Finally in some cases code is a competitive advantage, I'm sure that Neil Ferguson has churned out quite a few papers with the same framework by simply tweaking some things here and there. In that case you are ill advised to share the code with anyone.