I have recently discovered the blog at the Open Science Project, which I heartily recommend. As I was browsing through some of the earlier posts, I found a post discussing the lack of good software practises in scientific computing. From personal experience, both as a computational scientist myself and from seeing a lot of academic code, I couldn’t agree more. When I was getting my feet wet in computing, all the coding I knew was mostly self taught, with limited awareness of good programming practises other than writing reusable functions and trying to stick to standards. I know many other computational scientists, whose knowledge of anything other than emacs or vi for writing code is rather limited, with almost no knowledge of version control. In general, the originator of the program remains the only person who can comprehend the code itself. While this is changing due to sites like SourceForge, in general scientists write sphagetti code that would drive most code reviewers batty.
What is the solution? I have argued in the past that one way for molecular modeling and informatics to be part of every lab in the world, it needs to become part of the curriculum, just like traditional lab work. A similar argument can be made here that everyone interested in becoming a computational scientist needs to take some classes in software programming and learn the basics of modern programming practises. This is a win-win situation that benefits the developer and the end-user and also greatly helps commercialization of good ideas.
Technorati Tags: Education, science, programming, computational science, scientific computing



One Comment
Deepak,
Thanks for visiting my site. Now you are part of my blogroll.
Hoping to read interesting stuff.
Brij