There was a lengthy discussion on this at LinkedIn, and I'm going to largely repeat my comments from there. You'll get a lot of different opinion on this because:
- it's a religious issue (i.e. comes down a lot to subjective judgements and personal experience), and
- there's a lot of possible considerations for language choice in bioinformatics courses: teachable to people who aren't just going to be programmers and may not have programmed before, has a lot of useful libraries, has a community behind, good for quick and dirty / one off scripting solutions, useful for web development, etc.
- What "bioinformatics" means to one person and another can be quite different. I'm a bioinformaticist, you're a computational biologist, you're a genomicist and you just do a few stats ...
So a few thoughts about different languages:
Old school compiled languages, e.g. C/C++: No. Learning curve too high, no good for quick-and-dirty problems, weak in web development. Relatively little bioinformatic work happening here. Not a good place to start.
Java: Lots of libraries and BioJava is pretty damn good. But it's not a great first language, and always feels a bit "heavy" when I'm trying to do solve a small problem. Still, I expect to see a lot of development in this area with the JVM enabled languages like Jython, JRuby, Groovy, where you can script and still use the Java libraries. Not for novices.
Perl: was the undisputed choice for bioinformatics 10 years ago but that lead has evaporated. Quirky, opaque and write once. The whole Perl 6 morass doesn't help. I think you can do better. Still, there's a lot of code here and a lot of the older significant tools are written in this (e.g. GBrowse etc.)
Ruby: I've got a love-hate relationship with Ruby. There's a lot of Good Stuff there, and the web development is excellent. People seem to like learning Ruby too. But there are a few quirks in the language and BioRuby is still a work in progress. Still, a lot of enthusiasm here.
Python: this is where the weight of attention is. BioPython has really come along in the last few years and many of the newer, excellent tools (e.g. Galaxy) are written in it. Easy to learn, kind to beginners, big community, good scientific computing support (IPython, NumPy, etc.). There's an odd aspect or two I wish was developed more (I'd really like anonymous closures and better functional programming) but you couldn't go wrong here.
R: A lot of ecologists & mathematical biologists use R, and it's got graphics & visualization to die for. The IDE is great for beginners as well, allowing packages to easily be installed locally. I confess to a bit of a blindspot with R (some of the syntax is a bit weird), but this could be the right choice for the right group of students.