Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^3: Putting Perl Back on Top in the Fields of Scientific and Financial Computing

by educated_foo (Vicar)
on Mar 06, 2011 at 22:56 UTC ( [id://891726]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Putting Perl Back on Top in the Fields of Scientific and Financial Computing
in thread Putting Perl Back on Top in the Fields of Scientific and Financial Computing

Have you looked at SWIG or XS?
I use SWIG regularly, and believe it's the best option currently available for C/C++ bindings. It's also nice that you get Python, Ruby, Java, etc. bindings along with the Perl ones. I have written XS for a couple of projects, but prefer SWIG or Inline::C.
BioPerl is a project that started over a decade ago
Age and organic growth have nothing to do with its problems, except to the extent that Java's popularity when BioPerl started led its original developers to overengineer the heck out of it. Like I said above, IMHO the best "refactoring" would be to start over.
  • Comment on Re^3: Putting Perl Back on Top in the Fields of Scientific and Financial Computing

Replies are listed 'Best First'.
Re^4: Putting Perl Back on Top in the Fields of Scientific and Financial Computing
by cjfields (Novice) on Mar 07, 2011 at 04:15 UTC

    Speaking as a BioPerl core developer, I agree on a few points, in particular some of the over-engineered bits (and its Java influence). BioPerl classes designed 10 years ago are simply not easily capable of dealing with modern analyses for anything large scale.

    However, I do wish that anyone who has complaints re: BioPerl would seriously consider helping to fix some of these problems, or at least offer suggestions; we're pretty short-handed. In an effort to make contributing easier, we've moved to GitHub (so anyone can fork the code), we're pushing out the last monolithic release soon (1.6.2), and we're about to undergo a major core reshuffling to modularize classes, so now's a good time to indicate areas that need improvement. A ground-up re-implementation isn't out of the question either, but I think we have to consider the problems with just tossing out everything and starting from scratch.

    BTW, I know you don't believe in Modern Perl tools, but I do. I happen to have a test project using Moose to re-implement many BioPerl interface classes as Roles, as well as identify areas that need refactoring or simplification. I was pleasantly surprised to see a modest speedup just with Roles alone, so I think it's worth looking into.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://891726]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (2)
As of 2024-04-26 04:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found