Java or C++

Andrew Dalke dalke at acm.org
Fri Apr 7 08:17:05 EST 2000


"Malay" wrote:
> Under such circumstances I'd appreciate your comments in this
> regard. Which language will be "the language" in Bioinformatics,
> Java or C++?


Yes.  No.

There is no and will be no "the language" for bioinformatics.
There are projects in C, C++, Java, Perl, Python, Tcl and no
doubt even Visual Basic.

Most of the existing code is in C.  It's been around a long time
and is quite portable.  It's old enough that there are no
"BioC" projects - there are 1000s of different projects written
in C.

I prefer a mixed C/C++ and Python solution; the former for the
speed (performance) and the latter for the speed (development).
Take a look at biopython.org for some of the Python work.  I
think Python's a great "real programming language."  There's
also JPython if you want to run Python in a Java environment

Others love Perl's ability to sling strings around.  Take a
look at bioperl.org for examples.  You already say you know
Perl - you *can* do good software engineering in Perl.  Outside
of C/C++, I would say most people in bioinformatics use Perl.

And there are people working on Java.  Best place I know for
code is ... yep, biojava.org .  I've not used Java nor even needed
to compile Java code, so I can't say much about how it's used.

Then there are projects to get the different languages working
together.  One of these is via CORBA (see the Life Science Research
work at www.omg.org for extreme details).  Another is using
XML as the exchange protocol (see bioxml.org).

If you are choosing between C++ and Java, I would suggest C++.
Not wanting to raise flames here, but it's a much more powerful
language compared to Java - so long as you don't treat it as
just a better C.  That is, learn how to use C++ strings, templates
and exceptions, not char *, void * and out-of-range return values.

If you want to look at any of the languages on my list, I would
suggest Python.  For GUI work, there's even wxPython; an interface
to wxWindows, which you mentioned in your post.

                    Andrew
                    dalke at acm.org








More information about the Bio-soft mailing list