2017年1月30日(月) やはりPythonではなくPerlが好き
 バイオインフォマティックスで主たる道具として使われてきたスクリプト言語は古くはPerlだけだったが、いまや西欧ではPythonが主流となり、少数だがRubyも一部では使われ始めているようだ。いずれも専用ライブラリであるBioPerl、BioPython、BioRubyというパッケージがあり、これらのライブラリーを使えば楽に処理ができるようになっている。
 これらの軽量スクリプト言語はいずれも強力な正規表現を持っているため塩基配列等の解析には大きな力を発揮する。これらはC言語と違って、プログラミングの経験の少ない者にとっても習得しやすい言語でもある。シーケンスデータを扱う者は必ずいずれかの言語を習得せねばならないわけだが(雑記2004.3.20)、これらの言語はそれぞれかなり性格を異にする。
 Perlのモットーは「やり方は一つではない」。したがって、同じことを処理するのに何通りものやり方がある。一方、Pythonでは「やり方は一つだけ」で、誰が書いても同一の処理ならば基本的にはほぼ同じコードとなる。だからPerlで書かれたコードは書き手が違えば全く異なったコードとなり、解読には苦労が多く保守性は悪い。一方、Pythonで書かれたコードは誰が書いたものでも、すぐに解読できメンテナンスが楽というメリットがある。
 マニュアルや公式の好きな人にはPythonはうってつけの言語だ。かつては日本語による解説書が少なかったが、いまや多くの良書が溢れている。一方、マニュアルやルールの嫌いな人にとってはPerlは最適な言語といえる。日本語による情報は溢れんばかりだ。
 個人的にはPythonのコードは読みやすいが、窮屈で杓子定規なところが嫌いだ。Perlで書かれたものは何をしているのか分かりにくいコードが多いが、なによりも形に縛られない自由さが好きだ。でも、使わないものはすぐに忘れていく。


日( )
HOME