This is a silly post, but hope it makes a point. We have BioPerl (which never impressed me, in fact there isn't even a BioPerl tag), BioPython (which admittedly is impressive), and even now BioRust.

Why not BioMoose?

Moose is Perl5s answer to objects and is really impressive in its simplicity and ease of use. Before Moose Perl5 objects, were/are, how can I say, make evolutionary chaos theory look hip and relevant. Moose changed that completely, but stacking Moose code into BioPerl is never gonna work.

  • $\begingroup$ I don't understand your question. Do you ask why BioMoose is...? Or do you want to have a tag with BioMoose here on bioinformatics.SE? The reason why there isn't a BioPerl tag is that no one asked a question about it. So if you want to have the BioMoose tag, ask questions about it here. $\endgroup$ – llrs May 10 '19 at 8:42
  • $\begingroup$ Hi Llrs, I will provide a clearer explanation as a brief post at the end of the chat. The post is more about the future of Perl in bioinformatics, it isn't meant to be taken at face value. We don't have a tag for BioPerl because BioPerl was never a success, that was my point. If we don't have a tag about BioPython we should do (because it's good). $\endgroup$ – Michael May 10 '19 at 9:38
  • 1
    $\begingroup$ Sorry but I'm missing something. You will provide an explanation at the end of which chat? So, what is your question? What is the problem you are facing? $\endgroup$ – llrs May 10 '19 at 10:02
  • $\begingroup$ @DanielStandage summarises the status quo behind the question and is saying 'not impressed'. If you've never tried writing Perl objects (which are terrible) it's difficult emote. BioPerl likely never succeeded because it required writing Perl objects. .Moose overcomes this with aplomb, but skepticism remains. $\endgroup$ – Michael May 10 '19 at 11:00
  • $\begingroup$ I still don't understand what is your question (and I've briefly used BioPerl). You seem to ask why people do not use BioMoose instead of BioPerl. but that is primarily opinion-based. $\endgroup$ – llrs May 10 '19 at 12:41

I fear this entire thread is going to veer dangerously close to opinionation. But regardless of how one feels about the Perl language and its various libraries and communities, I think we can objectively say that the era of Perl's dominance in the bioinformatics community has passed. A lot of tools and libraries implemented in Perl are still widely used, and there is a tremendous amount of legacy Perl code around. The ability to read and write Perl remains a valuable skill.

But in 2019, few people (with a choice) are learning Perl or implementing new tools and frameworks in Perl. Python fits snuggly into the niche once occupied by Perl, and its native OO support is (I dare to say) objectively superior to any post hoc OO support Perl 3rd-party libraries provide.

The broader web/tech community moved on from Perl to Python (and Ruby and others) even before the bioinformatics community did, and this broader community's offerings (IPython, Jupyter, scipy, numpy, pytest, etc.) make Python an even more attractive alternative to Perl for bioinformatics work.

In the meantime, the "hadleyverse" ecosystem of R packages for data manipulation make R much more capable of the types of data pre-processing tasks for which an R programmer might have previously used a language like Perl or Python.

In short, Perl is waning in popularity (if not relevance), and I would not expect much enthusiasm from the bioinformatics community for a new framework built around a relatively obscure Perl extension.

| improve this answer | |
  • 1
    $\begingroup$ Dangerously close ;-) but I definitely disagree about R, but lets see. $\endgroup$ – Michael May 9 '19 at 20:08
  • $\begingroup$ I will revise this question shortly and resubmit it. My perception of Python is that although the syntax is easy, precisely what the program is doing with the code appears poorly described. In Perl most coders know how the code relates to its functionality, e.g. memory allocation, where the variables reside, %INC. For example an "orchish maneuver" is understood by most coders, even if they don't know it by name. $\endgroup$ – Michael May 16 '19 at 8:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.