Fork me on GitHub

Biologists, programming and house cleaning

My desk at GFI
Image by mndoci via Flickr

I taught myself a little BASIC in high school; but in those days, living in a small town in the middle of nowhere in India, access to a computer was not exactly easy (I touched one just a handful of times).  Later, I got to know some COBOL and eventually FORTRAN.  As a physical chemist with a strong interest in quantum mechanics, and numerical methods FORTRAN seemed like a good fit.  In grad school, as I moved from mostly wet lab work to writing electronic structure code, and using computational methods to study protein dynamics, structure and photophysics, I was a complete hack.  FORTRAN was a tool to express methods, and Perl was fast becoming a tool to script around various applications and munge files.  But in those days, outside of FORTRAN, most of my time was actually spent in the CHARMM scripting language and Mathematica.  Later I wrote a lot of FORTRAN and even more Perl, but pretty much as someone just getting the job done, the language was just something that helped.

I never learned good software development methods and today after some years away from anything but basic scripting, trying to write applications in new languages is hard.  Was it the languages?  Was it just a different era.  Today I actually enjoy my frustrating attempts at programming, and look forward to it lot more than I used to.  The point here is simple. We are talking about teaching biologists how to program, but perhaps in an analogy to what Thomas Mailund talks about, we should perhaps be teaching computational scientists better software engineering.  I know how to program, but I don’t know how to write good software, and my experience in the scientific software field over the past decade, both direct and indirect, suggests that I am not alone.  So why don’t we write software that biologists enjoy using.  Yes, I admit as biology becomes more of a digital science, there will be a greater need for computational thinking, an appreciation for software development, and the ability to write scripts and interact with software, but I think we need to clean our own house first.

Posted via email from mndoci’s posterous

Reblog this post [with Zemanta]

This entry was posted in Education, Informatics, Programming. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

blog comments powered by Disqus
  • Archives

  • Disclaimer

    All opinions on this blog are my own and do not reflect those of my employers, past or present