Software Usage in Science

Robert Ainslie

It comes as no surprise that computer software is widely used in scientific experimentation. The power of analysis afforded by computation has revolutionized and accelerated scientific progress to a truly astounding extent over the past 30 years (and even more so in the last 10). While technology pervades most every aspect of our lives, including how we cook, exercise, and relate to others via social media, the changes effected by software and computing power in the sciences (and industrial research and development) for the advancement of scientific endeavors, technological innovation and economic growth are most valuable for humanity, and should be the most well published.

Using JoVE search to find techniques using algorithms

Perhaps it’s just me, but these things may go without saying. More interesting than these broad statements is an understanding of specific ways that software and other computer based technologies are being used in experimentation, scientific visualization and sharing of ideas. This is an ever-expanding quest, as technologic advancement and the semantic web are progressing at a blistering pace. However, to begin to understand one small aspect of how software is used in the sciences, I turned to a JoVE search.

Performing a keyword search via www.jove.com for ‘software’ or ‘algorithm’ returns 62 exact matches and 626 partial matches (out of 1923 potential articles). So, about 1/3 of all JoVE articles at least mention computer software or algorithm usage. The breakdown of these articles by JoVE section is even more telling: 27% of JoVE General, 31% of JoVE Immunology and Infection, 41% of JoVE Clinical and Translational Medicine, 46% of JoVE Neuroscience, and 47% of JoVE Bioengineering articles mention software or algorithms. As we clearly see, Neuroscience and Bioengineering most often use and develop software in their methods. These various programs perform statistical analyses, image processing, instrument control and include custom developed algorithms that help answer specific questions in an experiment. Often, the software plays an integral part in these video-article techniques, and is highlighted by extended screen capture, showing exactly how the method makes use of computerized technology.

For me, the most interesting of these experiments are those that use custom developed software packages and algorithms, because after all, if you want something done right, you must do it yourself. Or, perhaps, this more speaks to the fundamentally open nature of computer programming. If you know the language, you can develop a program to help you achieve results.

In light of this, my questions for the scientific community are thus:

  • What programming languages do you know? 
  • How do you use them to progress your science? 
  • How does custom programming help you achieve better visualization and/or reproducibility of your techniques and methods?

Join the conversation by leaving a comment and then go see some software in action by signing up for your JoVE free trial here!