Why Python?
I chose to use Python for these courses for a handful of reasons
including:
- It is the language with the greatest potential to be used across the
breadth of biology. It is increasingly utilized by folks spanning
from traditional bioinformatics to climate modelers. Other languages
tend be more discipline specific in my experience (for example, if I
was targeting this course at ecologists, R would have been the
natural choice).
- It is a general purpose, high level, programming language. This
means that you should be able to do anything you want to do using
Python, and it should be relatively easy to accomplish.
- It’s free. Funding rates for scientific research are extremely low
at the moment and this means that expensive software licences are
often untenable, especially for students conducting their own
research. This also allows students in the class to program on any
computer they want without dealing with licensing hassles, and
guarantees that anyone can take advantage of the online resources
that are being developed.
- It runs on all major operating systems.
- It is used by many professional programmers and taught in many
computer science departments. This makes collaborating with experts
on large or complex projects much easier.
- Software Carpentry, a truly
excellent resource for learning scientific programming, is available
primarily in Python. This makes it easier for students to learn more
advanced topics on their own and allows me to avoid duplicating
effort by using Software Carpentry lectures and by contributing
material that I have developed back to Software Carpentry.
Or maybe I chose it because of this great XKCD
comic. Who knows?