Why bioinformatician still using Perl when Python is easy to code, good in ReXp and faster than perl?
I prefer Perl because it has strong BioPerl, my favourate PDL ("Perl Data Language"), which gives standard Perl the ability to compactly store and speedily manipulate the large N-dimensional data arrays which are the bread and butter of scientific computing. In addition The Ensembl APIs are also available only for perl. http://www.youtube.com/watch?v=l6a9Exe6Bsc
Cheers
I prefer Perl becuse Perl Scripts are very easy for the String processing for Biological data like Genome sequences and protein sequences. In addition, there is no strict rules for writing Perl scripts like other languages. That makes the biologist to write scripts easily.
For bioinformatics point of view file processing is very easy in Perl scripts and it can be combined with SHELL scripts for processing. Perl CGI to develop the Web pages by combining with HTML and CPAN contains so many Perl Modules which are Specific for Bioinformatics make it my more favourite.
If someone working on databases, Perl DBIx is an ultimate module for DBI applicaiton. It makes the DBI as an easy job.
Intitially, I use Perl for genome base parsing and analysis work, and found it quick and less cody. But, now a dayz I don't like perl, because I think it can induce to many bad-behaviours in novel programmers.
Some of the bad behaviours that I noticed are:
Perl is that there are always one or more modules missing :(
It is very difficult to understand a program written by someone else, because you have to known all the possible constructs to understand.
It is difficult to reproduce a bioinformatician experiment, if written in Perl.
Some programmer make ludicrous argument and trying to make a script language like perl sound so noble and natural. There is nothing "natural" about using symbols such as # $ % @ ->{} () [] in all conceivable combinations all over the place. When I look at somebody's Perl code I get indigestion. :/
The only good point of perl is its repositories, bioperl and CPAN; but, I know of many people who never use modules and functions, because it looks too complicated.
Hang on, some one will certaily explain about his one day ... You just write $%^&(^#@ ?
There are several useful feature that make a differences. Python code is easy to use for beginners due to its intuitive design. Python is unlike other programming languages in that it uses indentation to identify blocks of code. Perl is a much older language with a wider range of modules available.
I like python for following regions :
1. Easy Syntax:
Python Syntax are easy to learn and implement by Both Non-Programmers as well as an Experienced Programmer.
2. Readability:
Python Syntax are Clear to read since each block of Code relies on Same Amount of Indentation.
Python is often referred to as "executable pseudo-code" because its syntax mostly follows the conventions used by programmers to outline their ideas without the formal verbosity of code in most programming languages.
3. High Level Language:
Python looks more like a readable, human language than like a low-level language.
This gives you the ability to program at a faster rate than a low-level language will allow you.
4. Object Oriented Programming:
Python Supports Object Oriented Paradigm in it's Programming.
Object-oriented programming allows you to create data structures that can be re-used, which reduces the amount of repetitive work that you'll need to do.
5. Cross Platform:
Python runs on all major operating systems like Microsoft Windows, Linux, and Mac OS X.
6. It's Safe:
Python doesn't have pointers like other C-based languages, making it much more reliable.
Along with that, errors never pass silently unless they're explicitly silenced. This allows you to see and read why the program crashed and where to correct your error.
7. Batteries Included:
Python is famous for being the "batteries are included" language.
There are over 300 standard library modules which contain modules and classes for a wide variety of programming tasks.
8. Extensible:
In addition to the standard libraries there are extensive collections of freely available add-on modules, libraries, frameworks, and tool-kits.
These generally conform to similar standards and conventions.
For example, almost all of the database adapters (to talk to almost any client-server RDBMS engine such as MySQL, Postgres, Oracle, etc) conform to the Python DBAPI and thus can mostly be accessed using the same code.
This made me think of Perl https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/perl.html . #PerlLove