Korbinian Strimmer <strimmer at ermine.ox.ac.uk> wrote in message
news:Pine.OSF.4.21.0004161631380.25656-100000 at ermine.ox.ac.uk...
>>> > Which language will be "the language" in Bioinformatics, Java or C++?
>
I do consultancy and contract work for some very large financial companies
and in these institutions software productivity is very high on their
priority list, they have set budgets and they cannot afford to use systems
which are difficult to maintain or have learning curves which are too steep;
remember someone else will have to maintain the software at a later date
when the original author will have moved on to other projects. In my
experience, C++ is one of the last programming languages these companies
consider, C perhaps, but certainly not C++. The reason is that software
written in C++ requires very experienced programmers (= higher cost) and
tends to be difficult to maintain once written, this is nothing to do with
OOP design in particular because these companies are very keen on OOP but
rather C++ syntax and semantic itself is a hindrance. If developing under
windows, which tends to be quite common, the MFC libraries are also very
expensive options to use and in my experience tends to be avoided.
So that do the companies I've worked for use? Well they certainly use Java
but on the whole only for server side work, GUI applications written in Java
tend to be slow and cumbersome, we have some and they are awful compared to
well written windows applications. Compare any of the Java Ides with a
modern compiled Windows IDE and you'll soon realise how sluggish and
primitive Java IDEs really are. So what else do the companies I've worked
for use? Well they use Delphi (from Borland), a language not mentioned here
for almost all their gui dev work. There is also a lot of VB work still
going on, mainly because it is so easy to write applications in. I suppose
the companies I work for focus development on Windows boxes, but before you
knock windows, the windows environment is now quite mature, it has lots of
support, has a rapidly evolving hardware base, has super fast graphics, a
mature GUI, and is very cheap, particularly the hardware.
One problem I see with software development in bioinformatics is that is
seems to use a wide range of tools, now this may be a good thing but it does
mean that most applications will be half-backed simply because it's almost
impossible to be a master of all these technologies (with the exception of a
limited number of gifted people).
Now I'm not saying people should go off and use Delphi or what ever, but do
remember there are other things going on in the computing world other than
Tkl/Tk, Perl, etc. It always surprises me how narrow we sometimes are in our
views of the world.
Herbert Sauro