IUBio

Help biologist choose a new programming language

Nathan Haigh nathanhaigh at ukonline.co.uk
Thu Feb 6 07:01:42 EST 2003


"John Ladasky" <ladasky at my-deja.com> 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.
>
> My personal programming background: like many, from about 1982 - 1987
> I owned an Apple II.  I got started with BASIC, and eventually
> switched to 6502 assembler for greater speed.  I was getting into the
> guts of the machine, even doing crude operating system hacks.  Those
> were the days.  Fresh from my undergraduate degree in 1990, I went to
> work for a biotech company where my duties included some programming,
> first in Turbo Pascal and later in Borland C (not C++).  I was doing
> data acquisition work, talking directly to hardware.  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.  At home, I was tinkering with Laser C 2.0 on
> an Atari ST 1040.
>
> In 1993 I went to grad school, and essentially stopped programming.
> Along came C++, and Java, and a host of other languages which may or
> may not take hold.  Operating systems changed again.  Hardware became
> so fast that, for many users, the performance gains obtained from
> compiled languages were no longer important.
>
> I bought a used copy of Borland C++ 4.5 around 1995, I think.  By that
> time I had retired the Atari and purchased a PC.  I tried to do some
> very simple programming, and the error messages issuing from the
> compiler were absolutely incomprehensible.  I put it aside so that my
> advisor wouldn't kick me out of grad school.
>
> 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?
>
> 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 haven't actually sat down to program in Java yet.  But at first
> glance, it would seem to be a step backwards even from the procedural
> C programming that I was doing a decade ago.  I was willing to accept
> the complexity of the Windows GUI, and program with manuals open on my
> lap.  It is a lot harder for me to accept that I will need to do this
> in order to process plain old text, perhaps without even any screen
> output.
>
> 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.
>
> 2) A language that doesn't force me to obsess about the details of
> 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.
>
> 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.
>
> Any suggestions?  (I was kidding about BASIC.)
>
> Thanks!
>
> --
> John J. Ladasky Jr., Ph.D.
> Department of Biology
> Johns Hopkins University
> Baltimore MD 21218
> USA
> Earth

I am a bioinformatics PhD student in my 2nd year. Before enbarking on this
course i had no programming skills, so embarked on 2 programming courses
(Java and Perl). I was amazed at how much stuff you need to get through to
do a simple task such as open a file, read it a line at a time, parse the
line and close the file etc etc.

If you want a language that is easy to pick up and use, aswell as having
very powerful pattern matching (regular expressions - regex) then perl is a
good bet. It is used widly in the bioinformatics field and there are the
BioPerl modules that are well devoloped and do a lot of the common tasks
that you will come across. It also has a cross platform graphical interface
module (Perl Tk).

If you want some help setting it up/getting started, let me know.
Nathan





More information about the Bio-soft mailing list

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