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

elw at stderr.org elw at stderr.org
Thu May 24 07:48:21 EDT 2007



> Just wondering what bioinformatics community thinks of is best to use:
> 1. Java Swings (1.6+)
> 2. C++ Qt (4.0)
>
> My visualziation tool requires accessing data which is in the order of
> few hundred MBs we are expecting this to hit GBs soon. I am planning
> not to hold up all the data. However, I will have to hold up some data
> (a few hunderds of thousands (O(100,000)) of data entities, each costing
> around ~60 bytes). As the tool is supposed to be a interactive, what will
> be good alternative between Java Vs C++? I am leaning towards Java,
> reason being:

Not really seeming very on-topic for this list, as it can tend to generate 
flamewars.

It is possible to write very good, efficient code in either C++ or Java, 
using either set of UI libraries you mention.

You **MUST** pay *****very***** careful attention to the overhead 
introduced by your programming methods, however.

If you craft your application naively in Java, for example blithely using 
Java's OO features for your data elements, your application will incur 
insane overhead simply because you have object 
creation/destruction/storage and GC to worry about.

This overhead can be so substantial that you will not be able to fit an 
application of the order you propose into any currently manufactured 
computer's memory space.

You will need to manage much of your own data to get reasonable 
performance.  Do not simply let 'the system' take care of it for you.

It is possible to do very similarly boneheaded things in C/C++, but 
perhaps not as easy to do it unintentionally...  but I'm a bit biased, as 
I've seen worse (still functional) code written in Java than C/C++/etc....

--elijah


More information about the Bioclusters mailing list