Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

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

by hermida (Scribe)
on Mar 06, 2011 at 21:51 UTC ( [id://891723]=note: print w/replies, xml ) Need Help??


in reply to Re: 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

They're slick marketing around some slick code that some people find useful.

As with the other commenters on this thread I think you are totally off on this one. The Perl Foundation, Modern Perl, Enlightened Perl, and the rest of the Perl community actually do very little "slick marketing" of the great things they are producing that help us Perl programmers get our jobs done efficiently and elegantly. For better or for worse other languages have done more "slick marketing" and gained popularity solely because of that. Most humans unfortunately seems to be attracted only to pretty shiny things e.g. look at Apple they have mastered this art.

Particularly with newcomers and beginners to a language in order to attract them Perl should market a little more, they are the the lifeblood of a language that keeps the community thriving.

Easier interop with other high-level languages like Matlab and R. All of them have C interfaces, but going through C requires writing two bindings.

I agree I've mentioned RPy2 as an example to Adam Kennedy who maintains Statistics::R as a future roadmap, Perl binding directly to R's libraries.

Easier C binding. Inline::C is pretty good, but requires a compiler and doesn't feel quite "done." Maybe C::DynaLib would do the trick.

Have you looked at SWIG or XS? I agree for C++ Perl binding (where you can use SWIG or XS++) I wish there were more experts and examples out there to help beginners but with C binding you have tons of stuff to help you so many libraries on CPAN have C binding via XS and therefore you have tons of examples to get you going.

A better Bioperl. IMHO Bioperl is an over-engineered disaster (or at least it was 4-5 years ago when I last looked at it). Someone who started over from scratch, developing efficient representations for sequences and graphs, then building data input/output routines for various tools' formats, would be doing the world a great service.

BioPerl is a project that started over a decade ago (read here http://www.bioperl.org/wiki/History_of_BioPerl) and has grown organically along with the new era of biology that was born at the same time. When developers do things using their free time for free it can be difficult to refactor and improve a huge library as time goes along. Also the BioPerl developers have had to maintain stability, backwards compatibility, and support for older versions of Perl which prevented them from refactoring the entire codebase to a more elegant solution. This would have happened in any language.

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

Replies are listed 'Best First'.
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
    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.

      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.

Re^3: Putting Perl Back on Top in the Fields of Scientific and Financial Computing
by hermida (Scribe) on Mar 07, 2011 at 18:05 UTC
    I agree I've mentioned RPy2 as an example to Adam Kennedy who maintains Statistics::R as a future roadmap, Perl binding directly to R's libraries.

    Sorry made a mistake here, getting names from different mailing lists mixed up! :) I meant Brian Cassidy not Adam Kennedy, sorry Brian

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (6)
As of 2024-04-19 08:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found