[Bioclusters] education

Adam S. Moskowitz bioclusters@bioinformatics.org
Sun, 15 Sep 2002 08:29:04 -0400 (EDT)


Hassan,

> i heard two things about using Linux and Perl how about Solaris and c or
> java?

Linux and Solaris, like HP-UX, Tru64, AIX, and *BSD (to name the most
common), are all variants of the Unix operating system. Learning one is
mostly enough, as they are all very similar in most aspects, and where
they differ tends to be in the system administration aspect.

As for Perl v. C v. Java, I can't answer as authoritatively (because I'm
a "bio-systems" guy and and not a bioinformaticist), but I can say this
from what I've seen: C tends to be used for programs that need to run
fast, or do extensive calculations. Perl is preferred for "scripts";
that is, programs that tie together several other programs, or perform a
lot of file manipulation or string pattern matching. Both languages are
quite popular in BIFX. Java is like C in that's it's a compiled
language, with full OO semantics, etc. -- but it also has libraries to
provide much of the same features as Perl. Where Perl excels over both
Java and C is in "associative arrays"; to implement an equivalent in C
or Java you wind up having to do perfect hashing of indices (which leads
to sparse arrays), or reference -> reference -> array, or a mix of
arrays and lists, etc.

Good luck,
AdamM