Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Help biologist choose a new programming language

29 views
Skip to first unread message

John Ladasky

unread,
Feb 6, 2003, 4:36:17 AM2/6/03
to
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

Nathan Haigh

unread,
Feb 6, 2003, 5:55:24 AM2/6/03
to
"John Ladasky" <lad...@my-deja.com> wrote in message
news:c09b237b.03020...@posting.google.com...

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


Nathan Haigh

unread,
Feb 6, 2003, 7:01:40 AM2/6/03
to

"John Ladasky" <lad...@my-deja.com> wrote in message
news:c09b237b.03020...@posting.google.com...

I am a bioinformatics PhD student in my 2nd year. Before enbarking on this

Jonathan G Campbell

unread,
Feb 6, 2003, 6:29:20 AM2/6/03
to
John Ladasky wrote:
>
> 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.
>
[...]

> 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.

That's the problem.

> 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.

[...]

>
> 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.

Go with Java. You'll be at least twice as productive as with C++ or C.
Of course, if _all_ you are doing (and aiming to do) is ripping text
files apart and putting them together in another way, then the Perl
suggestion is apt.

Good luck,

Jon C.

--
Jonathan G Campbell BT48 7PG jg.ca...@ntlworld.com 028 7126 6125
http://homepage.ntlworld.com/jg.campbell/

Jonathan G Campbell

unread,
Feb 6, 2003, 8:40:39 AM2/6/03
to

John Ladasky wrote:
>
> 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.
>
[...]

> 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.

That's the problem.

> 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.

[...]

>
> 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.

Go with Java. You'll be at least twice as productive as with C++ or C.

gswork

unread,
Feb 6, 2003, 10:51:30 AM2/6/03
to
lad...@my-deja.com (John Ladasky) wrote in message news:<c09b237b.03020...@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.

bd

unread,
Feb 6, 2003, 6:45:22 PM2/6/03
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Ladasky wrote:

> 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:

<snip>


> 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?

Nope. Would regexes work?

> 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.

Perl is great for text-editing.

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

Perl allows OOP, but does not require it.

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

Once again, Perl. GTK, Tk, Qt bindings at least.

> 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.

It's acceptably fast for me.

> Any suggestions? (I was kidding about BASIC.)

http://www.perl.com

- --
Replace spamtrap with bd to reply.
Freenet distribution not available
Seattle is so wet that people protect their property with watch-ducks.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+QvNTx533NjVSos4RAu7NAJ4qOXKcdafVh2hmdu2W+s+fLt5+2QCfX3yy
Zi5AY7iWatfANlpUMFYg+uY=
=tgj+
-----END PGP SIGNATURE-----

Pierre Asselin

unread,
Feb 6, 2003, 9:24:43 PM2/6/03
to
In comp.programming John Ladasky <lad...@my-deja.com> wrote:

> [ ... ]


> 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?

I'd say perl is the best darn language for this sort of thing. I'm not
sure how much fun you'll have learning perl. I started using it as
perl4, when it looked like awk + sed + all the Unix shells, thrown into
a blender. So it was easy for me.

Another possibility is Tcl. Tcl is a really, really weird language,
but it's also small. You can get over the syntax in one afternoon
and start writing code.

No matter what language you pick, you'll need to learn "regular
expressions", because that's how you will recognize the strings in your
files. Be prepared: regular expressions are a write-only language.
You write one, and seconds later you can't understand it. Luckily,
they usually works as intended.

Helgi Briem

unread,
Feb 7, 2003, 5:19:39 AM2/7/03
to
On 6 Feb 2003 13:40:39 -0000, jg.ca...@ntlworld.com
(Jonathan G Campbell) wrote:

>Of course, if _all_ you are doing (and aiming to do) is ripping text
>files apart and putting them together in another way, then the Perl
>suggestion is apt.

Perl can do a *lot* more than that, although it
certainly rips text files apart and puts them together
better and easier than anything else. Perl/Tk is
a very easy to use (comparatively) GUI builder.

Perl has easy, ready to use modules for almost
any programming task imaginable, including for
example Bioperl for Bioinformatics tasks, parsers
for XML, HTML and other formats, database drivers
and SQL support for every database manager known
to man, modules for Web automation, fetching
information over the internet, system administration
in Windows or Unix, etc. etc.

Have a look at http://search.cpan.org and
http://www.bioperl.org for a glimpse of the
possibilites.
--
Regards, Helgi Briem
helgi AT decode DOT is
---

Simon Andrews

unread,
Feb 7, 2003, 5:19:40 AM2/7/03
to

> John Ladasky wrote:
> > 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.

Jonathan G Campbell wrote:
>
> Go with Java. You'll be at least twice as productive as with C++ or C.
> Of course, if _all_ you are doing (and aiming to do) is ripping text
> files apart and putting them together in another way, then the Perl
> suggestion is apt.

>From a productivity point of view I would say that Perl is a much better
choice. When combined with the BioPerl modules it allows you to get
tasks completed with the minimum amount of development time. If you're
after all out speed, then a well written Java or C program will be
quicker, but frankly compute time is cheap compared to programmers
time. I know that most of the Perl scripts I write will be run less
than 10 times, so the important thing is getting the job done, and Perl
is very good at that.

For the cross-platform and GUI aspects Java probably comes out on top.
Tk (or Qt or GTK) works and is OK, but has some limitations, also Perl +
associated modules are probably less widely installed than Java so you
may need to invest in a Perl compiler if you want to distribute to
others easily.

In the end the best answer is to try both. They both have their
strengths and weaknesses, and you'll probably soon get a feeling for
which one suits you better. The other good way to choose is to find
someone else working close to you who knows one or other of these
languages. It's always useful to have an expert handy :-)

Hope this helps

Simon.
---

Pierre Asselin

unread,
Feb 7, 2003, 5:19:40 AM2/7/03
to

In comp.programming John Ladasky <lad...@my-deja.com> wrote:

> [ ... ]


> 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?

I'd say perl is the best darn language for this sort of thing. I'm not

gswork

unread,
Feb 7, 2003, 5:19:40 AM2/7/03
to

lad...@my-deja.com (John Ladasky) wrote in message news:<c09b237b.03020...@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

bd

unread,
Feb 7, 2003, 5:19:40 AM2/7/03
to

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Ladasky wrote:

> 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:

<snip>


> 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?

Nope. Would regexes work?

> 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.

Perl is great for text-editing.

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

Perl allows OOP, but does not require it.

> 3) I would like to return to graphical applications eventually.


> Therefore the language should have a GUI library, either
> Windows-specific or cross-platform.

Once again, Perl. GTK, Tk, Qt bindings at least.

> 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.

It's acceptably fast for me.

> Any suggestions? (I was kidding about BASIC.)

j...@mrc-lmb.cam.ac.uk

unread,
Feb 7, 2003, 6:55:57 AM2/7/03
to
> John Ladasky wrote:
>
> 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.

In my mind, although Perl is a great language for this sort of thing, it does
have the tendency to look like line noise. It's a very powerful and expressive
language, but you have be to strict with yourself to make it look nice.

As others have mentioned there's a long choice, perl, tcl, python, java, C,
etc.

What you need to consider is whether you want a language just for the job you
have at hand, or a language for future development. Does it need to be
portable too? Java is supposedly very portable, but I can confidently say I'll
have less trouble getting a Perl or Tcl program running across a wide spectrum
of systems than I will Java...

Anyway, rather than turn this into a language war I thought I'd supply some
pointers to objective comparisons between languages.

An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a
search/string-processing program.
www.ipd.uka.de/~prechelt/Biblio/ jccpprt_computer2000.pdf

An interesting paper containing real reports of about 80 implementations
of the same problem by different people, in a variety of languages. The
paper draws conclusions on performance, speed of development, reliability
and the like. Worth reading in my opinion.


The Great Computer Language Shootout
http://www.bagley.org/~doug/shootout/

A comparison of the performance of 30 languages spread over 25 benchmark
tests. The performance alone is interesting, but not in my opinion the
most valuable aspect of this site. Being able to see the same piece of
code implemented in different languages is a great way to get an idea for
the syntax and style of a language. No matter how fast or expressive it
is, you have to like programming in it for it to be a worthwhile choice.


James
--
James Bonfield (j...@mrc-lmb.cam.ac.uk) Fax: (+44) 01223 213556
Medical Research Council - Laboratory of Molecular Biology,
Hills Road, Cambridge, CB2 2QH, England.
Also see Staden Package WWW site at http://www.mrc-lmb.cam.ac.uk/pubseq/
---

lvi...@yahoo.com

unread,
Feb 7, 2003, 2:35:55 PM2/7/03
to

According to John Ladasky <lad...@my-deja.com>:
: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.

I came from a very similar background. I would recommend that you
take a look at http://www.tcl.tk/ . There are things like
<URL: http://wiki.tcl.tk/Biowish > and other bioinformatics projects
making use of it.


--
Tcl - The glue of a new generation. <URL: http://wiki.tcl.tk/ >
Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.
<URL: mailto:lvi...@yahoo.com > <URL: http://www.purl.org/NET/lvirden/ >

Catherine Letondal

unread,
Feb 10, 2003, 4:39:06 AM2/10/03
to

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

lvi...@yahoo.com

unread,
Feb 10, 2003, 6:15:16 AM2/10/03
to

According to John Ladasky <lad...@my-deja.com>:

: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.

I came from a very similar background. I would recommend that you

Simon Andrews

unread,
Feb 10, 2003, 6:15:16 AM2/10/03
to
j...@mrc-lmb.cam.ac.uk wrote:
>
> > John Ladasky wrote:
> >
> > 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.
>
> In my mind, although Perl is a great language for this sort of thing,
> it does have the tendency to look like line noise. It's a very powerful
> and expressive language, but you have be to strict with yourself to make
> it look nice.

I would class this as both a strength and weaknesses of Perl. If you
are knocking a quick script together you can write something which may
look a mess, but quickly gets the job done. If you're after something
more long term then you can write more verbose, but far more readable
code. The problem comes if you have to maintain code which was
originally written to be quick and dirty.

One of the advantages to the BioPerl modules is that the syntax they use
is pretty easy to read, even if you have no clue about Perl. The "line
noise" is still there, but it's hidden away behind nice friendly
interfaces.

> Anyway, rather than turn this into a language war I thought I'd supply some
> pointers to objective comparisons between languages.
>
> An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a
> search/string-processing program.
> www.ipd.uka.de/~prechelt/Biblio/ jccpprt_computer2000.pdf

A very interesting paper. I would be interested to see the results of a
similar comparison using a more biological example (say parsing
information from Blast files), and allowing the use of any modules which
were available (ie Bio (Perl | Java | Python)). As I said in my
previous post, I believe that often the most important metric is the
measure of productivity with the language, rather than absolute speed of
execution. Even measuring lines of code per hour is a bit meaningless
since the same function may take vastly different amounts of code to
accomplish in different languages.

Simon.

[As a (mostly) Perl programmer, I also have to like this report since,
it says "..Perl subjects may be more capable than others, because the
Perl language appears more than others to attract especially capable
people." :-)]
---

Catherine Letondal

unread,
Feb 11, 2003, 4:45:31 AM2/11/03
to

In article <c09b237b.03020...@posting.google.com>, lad...@my-deja.com (John Ladasky) writes:

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

unread,
Feb 11, 2003, 9:21:24 AM2/11/03
to

>An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a
>search/string-processing program.
> www.ipd.uka.de/~prechelt/Biblio/ jccpprt_computer2000.pdf
>
> An interesting paper containing real reports of about 80 implementations
> of the same problem by different people, in a variety of languages. The
> paper draws conclusions on performance, speed of development, reliability
> and the like. Worth reading in my opinion.

I suggest also:

A Qualitative Analysis of the Usability of Perl, Python, and Tcl
Lingyun Wang and Phil Pfeiffer
Proceedings of The Tenth International Python Conference
http://etd-submit.etsu.edu/etd/theses/available/etd-0712101-083723/

which is more precise regarding usability issues.

Usability Issues in Programming Languages
By Brad Myers, a great researcher in HCI.
http://www-2.cs.cmu.edu/~NatProg/langeval.html

Dr Engelbert Buxbaum

unread,
Feb 17, 2003, 5:27:03 AM2/17/03
to
In article <c09b237b.03020...@posting.google.com>,
lad...@my-deja.com (John Ladasky) writes:
>Hi, folks,
>
>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.

With that sort of background one of your options would by Delphi (or its
Linux derivative: Kylix), by Borland. Since you already know Turbo
Pascal, Object Pascal should be a doodle.

However, the complexities of modern graphical operating systems can be
avoided only at the expense of user comfort. A Unix-filter like program
can be written in any language, but if you want something that looks
like a modern, user friendly program, you probably have to dive into
this matter.

This is very frustrating, I am basically in the same situation. I have
written a largish (36,000 lines) statistics program in Turbo Pascal
under DOS for routine handling and evaluation of lab data, but its user
interface is completely obsolete now. Updating it to a modern
point-and-click program is beyond my capabilities, but on the other hand
it would be a shame to let all the previous work go to waste.

Geronimo

unread,
Feb 17, 2003, 9:17:14 AM2/17/03
to
I come from a Pascal background, too. The solution I have found: Web
interfaces/programming. Your TP code can be seamlessly recompiled in Free
Pascal on almost any platform and run as a CGI in a web server.


"Dr Engelbert Buxbaum" <engelber...@hotmail.com> wrote in message
news:b2o3jc$15s$05$1...@news.t-online.com...

Caltech News Server

unread,
Feb 19, 2003, 4:46:08 AM2/19/03
to

Sounds like you should look at Delphi by Borland. Delphi allows one to
choose to program in a procedural or OOP fashion. Excellent for GUI work,
portable to Linux. Code is compiled to single exe. No need to read 400 pages
before you can read a file! If you don't want to, you don't have to worry
about inheritance, exceptions, buffers, stream or objects. Many shareware
GUI based windows apps are written in Delphi, many coorporations, if they
don't use VB, will choose Delphi. Excellent connectivity to databases,
probably one of the best and it's so simple.

Very shallow learning curve, brilliant Visual IDE makes writing GUI apps
very straight forward. At the samer time you can drop down anbd write
assembler if you so wish.

HMS


"Nathan Haigh" <natha...@ukonline.co.uk> wrote in message
news:pgpmoose.2003...@net.bio.net...


>
> "John Ladasky" <lad...@my-deja.com> wrote in message
> news:c09b237b.03020...@posting.google.com...
> > Hi, folks,
> >


---

ig...@yahoo.com

unread,
Jan 4, 2005, 8:00:12 AM1/4/05
to
The Great Computer Language Shootout is now active at
http://shootout.alioth.debian.org/great/

---

0 new messages