[Bioclusters] Java Vs C++(Qt) for Bioinformatics

Rodney J Dyer/FS/VCU rjdyer at vcu.edu
Thu May 24 08:39:50 EDT 2007


Aijaz,

My personal preference is as follows (according to your order of questions)

1. Comprehensive GUI
You should seriously reconsider your needs if your #1 concern is the
support of some GUI.  This should be irrelevant in your project.  If you
are this connected to a particular GUI, then the remaining points are
meaningless.  But then again, I believe that emacs is the natural choice

2. Java not that Slow, as they say!
It is not as slow as it used to be but not as fast as C++ (see
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gpp&lang2=java
 for a comparison).  Sure computers are getting faster, but ...

3. Huge API, DBMS, XML, DRMAA, . . . . .
And C++ doesn't have a big API and set of libraries?

4. No deployment pain, although a little application
  specific deployment may be required example: preference files etc
If you are going to use Qt, it is not an issue either.  I have actually had
a more difficult time deploying java on win than Qt on Win/OSX/*nix.

5. Automated Garbage collection, less trouble in maintaining memory.
  Although it has a little overhead, it can be reduced by efficient
handling of data???
If you are going to learn C/C++ you should be able to know how to implement
memory management.  For large chunks, it may be more efficient for you to
have some more control over memory than GC.

6. efficient multi threading, not system level fork, etc??????
Proper design and factoring is available in many languages.

7. Java has growing number of Bioinformatics applications
Irrelevant, your needs are primary.

Hope this helps.  One thing that I typically do is try to determine, over
the lifetime of the application, if the language of choice will be
expansive enough.  For example, maybe some cluster MPI stuff would be in
the future in which case it would suggest one language over another (I'll
let you guess which one).

Ciao,

Rodney J. Dyer, PhD
Department of Biology
Center for the Study of Biological Complexity
Virginia Commonwealth University
http://dyerlab.bio.vcu.edu



More information about the Bioclusters mailing list