DEVELOPER NOTES

Pearl of an idea

Like most of my coding projects Opus 23 Pro is written primarily in the Perl scripting language. Perl handles most of the basic server-side functions (like disk reading, etc) and sends its output out to the browser via HTML, Javascript, etc.

Perl is widely used in bioinformatics, and has been nicknamed “the Swiss Army chainsaw of scripting languages” because of its flexibility and power, and has also referred to as the “duct tape that holds the Internet together.” The Perl language borrows features from other programming languages, most significantly C++. It has powerful and unsurpassed text processing facilities, one of the reasons it saw major use during the development of the Human Genome project.

Why, despite the protestations of my daughter that I should move to Python, I continue to code in Perl:

  • It is universal.
  • It is robust. Perl has an amazing library of existing modules that perform a variety of functions. If you can think of a task, CPAN (the Comprehensive Perl Archive Network) probably contains a module that will spare you the job of having to re-invent the wheel
  • It has strong bioinformatics roots. Perl was than computer language credited with ‘saving’ the Human Genome Project. Perl also has an extraordinary library of existing bioinformatics modules (BioPerl). Perl has a robust library of Application Programming Interfaces (APIs) that interface with the National Center for Biotechnology Information (NCBI) server, including access to PubMed, MeSH, etc.
  • It has a great didactic heritage. Perl has an enormous library of books, ranging from ‘Perl for Dummies’ to advanced bioinformatics textbooks

One of the great qualities of Perl is its ability to do any one thing in any number of ways. According to it’s creator Larry Wall, Perl has two slogans. The first is “There’s more than one way to do it”, commonly known as TMTOWTDI. The second slogan is “Easy things should be easy and hard things should be possible.”

Thanks to Perl, Opus 23 Pro has been made possible.

Facebooktwitterredditpinterestlinkedinmail