Help biologist choose a new programming language

gswork gswork at mailcity.com
Fri Feb 7 05:19:47 EST 2003

ladasky at my-deja.com (John Ladasky) wrote in message news:<c09b237b.0302060136.5683054e at posting.google.com>...
> Hi, folks,
> After devoting several years to programming the most troublesome
> computers of all, namely living cells, I am beginning to take an
> interest in programming silicon again.
> Far too much has changed since I last programmed a computer.  It is
> amazing how obsolete one's knowledge can become.

or not... your background, though without OOP, is pretty good.  C and
assembly and BASIC.  nice mix of experience, and with plenty of
options for today.

> When we switched
> from DOS to the Windows 3.1 GUI, I had to program with the manuals
> open on my lap, because of the hundreds of OS messages and function
> calls -- but I managed.

If you successfully wrote raw Win16 API then all credit to you!

> What I would like to do at this point is some bioinformatics work,
> data-mining GenBank.  I am setting up a computer at home for this
> project because, although it is biology research, it's tangential to
> my current job.  I have found both the BioJava and BioPerl web pages. 
> There are bioinformaticicians who find merit in at least these two
> languages...
> I need the ability to read flat-format text files, seek out some key
> words and sequence data, and analyze for patterns.  Not too difficult,
> right?

Many languages are well suited to that without the need to get
involved in precision string-memory management.  perl notably, though
I don't like it all that much myself.  Pascal & BASIC too.  Java has
it too, but....

> Well, I followed one friend's advice and investigated Java, perhaps a
> little too quickly.  I purchased Ivor Horton's _Beginning_Java_2_
> book.  It is reasonably well-written.  But how many pages did I have
> to read before I got through everything I needed to know, in order to
> read and write files?  Four hundred!  I need to keep straight detailed
> information about objects, inheritance, exceptions, buffers, and
> streams, just to read data from a text file???

I read the previous edition (for java 1.1) and thought it was
reasonable too, and noted the volume of pages before 'doing stuff',
but it is aimed at beginners in fairness.   Actually writing file io
programs isn't too involved, but doesn't present the simple
methodology of the others (IMO).

I've done small text io utilities in BASIC, Pascal (Turbo Pascal,
Delphi & Freepascal), those are my choices for that kind of task -
especially delphi because of it's simple filestreams, and the promise
of portability (to Linux).  Freepascal might be worth a look if you're
interested.   Perl advocates can show you some pretty compact scripts
that do pretty large amounts of work though, so check that too.

> Here is what I think would make a good programming language for me
> (but feel free to try to convince me that I should have other
> priorities):
> 1) A low barrier to entry for performing simple tasks, such as
> processing text files.  This will allow me to accomplish the job I
> want to do right now.

BASIC, Pascal, Perl - examples for this stuff all over the net.

Various other scripting languages are probably equally good,
familiarity with c will reward you if you go with that.

> 2) A language that doesn't force me to obsess about the details of
> OOP.

BASIC, C, Pascal and plenty of others wont force you into oop.

> 3) I would like to return to graphical applications eventually. 
> Therefore the language should have a GUI library, either
> Windows-specific or cross-platform.

Delphi/Kylix has RAD, there are gui kits for many languages though and
if you were ok with win16 you should be able to pick up.

> 4) Speed is nice, but secondary.  When I consider the fact that my
> Apple II was a 1.0 MHz machine with an 8-bit data bus, and my new
> machine will be a hyper-threaded Pentium IV 2.0 GHz machine with a
> 32-bit (64-bit?) data bus, I'm willing to bet that even an Applesoft
> BASIC interpreter would be fast enough.

Isn't that 3.0ghz (remembers reading about in a pc magazine, the new
HT 3ghz P4).  They're all pretty fast nowadays!

Hope comp.programming gives you ideas, a good bet is to try out a few
languages and do some simple file io in each, the one that 'clicks'
with you the most would be good to pursue.

More information about the Bio-soft mailing list

Send comments to us at biosci-help [At] net.bio.net