Ideally, we would learn both, but someone starting out in bioinformatics may have to choose what to learn first depending on the kind of problems actually encountered.

Are there problems for which Biopython is better than Bioperl (or vice-versa)?

• This question is almost entirely opinion based, and therefore generally discouraged on Stack Exchange sites. This is easier to see if you replace 'Biopython' with 'python' and 'Bioperl' with 'perl'.
– gringer
Jun 13 '17 at 5:36
• The only possible objective answer is - advantage of biopython is that it is module in python, on the other hand bioperl has an advantage of being module of perl. So you can reduce your question to "python or perl?" and that's a holy war, not question. Jun 13 '17 at 8:41
• If you can, learn both, and even learn R. But prefer Python if you are to write code that others will need to read, understand and eventually modify. In my (admittedly biased) experience, Python code tends to be easier to understand.
– bli
Jun 13 '17 at 15:14

Currently you could use either but a major question is which platform will others be using in the future. AFAIK Perl is only superior to Python for regex.

Based on the trend I see for new programmers and new software being released: Perl is on the way out and Python is still growing.

• “AFAIK Perl is only superior to Python for regex.” — Andy use strict;, which has absolutely no equivalent in Python. There are linters, but nothing substitutes the requirement — provided in Perl by use strict — to explicitly declare identifiers (via my). I like Python but it gives incredibly weak correctness guarantees; even JavaScript surpasses it in this regard. Jun 15 '17 at 12:40

Regading the perl vs python discussion, there is no final answer which language is better, but I have some advice for you:

Learn the language your colleagues or your advisor use. This way you are able to discuss your code with them and also get help if you run into problems.

• I think that the question is more about the libraries than about the language itself. Jun 19 '17 at 15:28

This usually comes down to religious issues, so let me try and steer it back to more objective grounds:

• What language do you know (better)? Use the library for that one.
• If you know neither and will be learning a language to use the library, the majority opinion would be that Python is easier to learn.
• However, some people say that they "click" with Perl better
• Python is what the majority of bioinformaticians are using at the moment (about 60%). And there is a virtue and aid in using what everyone else is.
• What are your colleagues / collaborators going to be using?