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
|
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.
| [reply] |
|
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.
| [reply] |
|
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.
| [reply] |
|
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
| [reply] |
Re^2: Putting Perl Back on Top in the Fields of Scientific and Financial Computing
by chromatic (Archbishop) on Mar 05, 2011 at 19:05 UTC
|
They're slick marketing around some slick code that some people find useful.
Shh, don't tell anyone that I've made millions of dollars encouraging people to use three-argument open, lexical filehandles, App::cpanminus, autodie, and testing. You'll ruin it for everyone.
| [reply] |
|
Where did I say you made any money? You've made a name (or at least pseudonym) for yourself, so maybe you could make money on speaking and books -- I don't know, and I don't really care. Anyone loud and persistent enough can do that. But what kind of name have you made?
| [reply] |
|
But what kind of name have you made?
Based on the people thanking me for writing the book, for giving electronic versions away for free, and recommending and sharing it with other people, I sleep very well at night. Hopefully a fair percentage of those readers go on to write good code and avoid the pitfalls in Perl 5 that would all too easily ensnare novices.
Where did I say you made any money?
You complain about various attempts to help people write good Perl, claiming that they're merely snake oil and marketing every chance you get. Clearly you think that the people doing so are either trying to sell something or really bad businesspeople who can't—or won't—do so. I don't understand that. Wouldn't your time be better spent actually building something people want to use than a bitter, one-man countermarketing campaign?
| [reply] |
|
|
|
|
|
Re^2: Putting Perl Back on Top in the Fields of Scientific and Financial Computing
by punkish (Priest) on Mar 07, 2011 at 20:27 UTC
|
| [reply] |
|
Well, then feast your eyes on pdl.perl.org
Looks like someone with a better eye for design recently got a hold of the website, which a lot of projects would benefit from. These efforts are crucial to get people excited about using Perl. If we don't, the language risks stagnation and people will move on - something Jon Orwant pointed out 10 years ago
As a community, I'd suggest that people aim to be ready to shout their efforts with loads of slick marketing for the launch of Perl 6 and ride the wave of shininess. Jokes aside, The Year of Perl 6 should really be a whole year full of Perl.
perl -e 'print qq(Just another Perl Hacker\n)' # where's the irony switch?
| [reply] |
|
| [reply] |
|
If we don't, the language risks stagnation and people will move on - something Jon Orwant pointed out 10 years ago
That quite invalidates the argument, doesn't? It's 10 years later, and Perl still hasn't wilted away. I'd even say, Perl is stronger than it was 10 years ago (sure, it's not so much hyped as it used to, but that's not the same).
| [reply] |
|