Help biologist choose a new programming language

Catherine Letondal letondal at pasteur.fr
Tue Feb 11 04:45:33 EST 2003



In article <c09b237b.0302060136.5683054e at posting.google.com>, ladasky at my-deja.com (John Ladasky) writes:
>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.)

I would say that all languages are fine. After all, they are soo similar...
Maybe look at Python, though, since 1), 2) 3) and 4) are met (especially 1).
Regarding 2), you are not required to program in OOP, but once you want to, you have
a nicely featured OOL. And you have Biopython.

http://www.python.org/
http://www.biopython.org/

We have a course for biologists knowing programming:
http://www.pasteur.fr/recherche/unites/sis/formation/python/

and for biologists wanting to learn:
http://www.pasteur.fr/formation/infobio/python/

>
>Thanks!
>
>--
>John J. Ladasky Jr., Ph.D.
>Department of Biology
>Johns Hopkins University
>Baltimore MD 21218
>USA
>Earth
>

-- 
Catherine Letondal -- Pasteur Institute Computing Center





More information about the Bio-soft mailing list