3 ms·
I'm really surprised to see modern discussions of Perl in bioinformatics, normally when I see any mention I assume that either a) it's an outsider who is snicke
by jghn 12y ago
I'm really surprised to see modern discussions of Perl in bioinformatics, normally when I see any mention I assume that either a) it's an outsider who is snickering at how backwards we are or b) it's an old timer who has never gotten with the times.
I've been in the bioinformatics space for about 13 years now and I've only come a small handful of perl scripts, all of which have been legacy programs. Even when I started in the field, perl was viewed as somewhat anachronistic. All of the end-user software I've written (read: For researchers) has been in R, Java and a wee bit of scala.
These days all of the researchers I know are using some combo of R, Python and to a lesser extent MATLAB. Many have useful C and/or Java (and/or Scala) skills as well.
My personal experience is obviously not exhaustive but I find it hard to believe that many people are using Perl these days, and IMO that's a matter of good riddance.
- Snoooze 12y ago> b) it's an old timer who has never gotten with the times. As someone who knows the author of the post, that is mostly true ;) In all seriousness, while I generally agree with your sentiments I don't think that Perl is dead within Bioinformatics. Not least since major data providers, e.g. Ensembl, write their tools in Perl.
- jghn 12y agoHeh. Oh I know it still exists, but while this is admittedly anecdotal on my part (and likely heavily biased by the institutions I've been a part of) I haven't seen a single new person who defaults to Perl in a very, very, very long time. And to be clear, I'm not trying to rip the author or the article, it just seems ... oddly timed, like writing a contemporary article on how to use COBOL in the business computing space.
- Snoooze 12y agoI think the suggestions is that Perl 6 is a very different beast to Perl 5. Or to put it another way, you could read the title of the post as "Bioinformatics and the joy of Foo Programming Language". I'm not sure I agree with that, however.
- cjfields1 12y agoIt's not too far off the mark. Perl 6 is probably best described as a dialect. The look and design of the language are very Perl-ish, but some of the key sore points from Perl 5 (OO, concurrency, etc) are addressed and it has added a number of killer features. This is not Python 2->32; it is a major overhaul of the language, with no backwards compat beyond a suggested perl 5-compatible layer (I believe this is called 'v5'). The article touches upon a few (Grammars for instance), but I personally think the concurrency work will also be a real draw. The other key difference is that Perl 6 is actually a specification with an official test suite and Grammar (STD). I believe the specs indicate that anything that passes the test suite can be deemed to support 'Perl 6', which really opens up the use of various backends. The Rakudo Perl 6 implementation has support for three (MoarVM, Parrot, and JVM).
- Ultimatt 12y agoAuthor of the post here. I think my comeback would be Perl 6 is a completely new language, that's only just becoming usable from a long design and development process. A lot of people dont think about it this way because they have zero idea what Perl 6 is about. If you don't like sigils on your variables you aren't going to like it though :P I use Perl 5, Python and R on a daily basis. I try to avoid BASH in favour of Perl, as it genuinely is just less crazy and is perfect for the same tasks. Python isn't a great shell script replacement. I like Perl 6 mostly because it lets you write nicer Perlesk code that isn't quite so disposable and gross. At the moment Perl 6 isn't completely viable for daily use, just because of performance. I also know Java and C quite well but rarely work on anything that needs the perf of these languages given the overhead for someone who is a researcher rather than fulltime programmer.
- jghn 12y agoFair point. I haven't looked at Perl6 since the early aughts and assumed it was basically exactly what I saw then. I didn't realize that it was just now starting to blossom.
- Ultimatt 12y agoLol not sure I would go as far to say its just started to blossom. Some flowers are weeds to one person and a pay-for wild flowers to another. Each to their own!
- bane 12y agoI work next to a bioinformatics team, they split their work between Perl, Python, C and Java depending. Perl is mostly used in the niches it's traditionally good at, munging data or cleaning it up with quick to write one-off scripts. The data is then fed into a higher performance C or Java program for the actual analysis. They tried to use Python for that kind of task, but the language is stricter than Perl (you end up writing lots of exception handling code) and the text gobbling faculties are just ever so slightly not as good and it ends up just being easier and quicker to Perl the problem away. However, the newer folks are coming in not knowing Perl at all and it's likely it will simply go away in a few years and everything will be done in Python anyways. Python and Java tend to be used on the back-end of the web reporting systems they build since there's better server-side support and tooling for that case. And I think some of the analytic tools are cross platform Java desktop clients.