2012年4月22日日曜日

なぜPerlで書くのか?

自費出版掲載のスクリプトは主にPerlで書く予定です
で、僕は何故Perlで書くのか?

・Perl5.xはほぼ言語仕様が確定している
Rubyを勉強してRubyで書いてもいいんですけど
Rubyはver upするとスクリプトのメンテナンスが必要な気がします
WEB上だとメンテナンス出来ますが、書籍上だとできませんよね
そういう意味で自費出版用のプログラミング言語としてPerlの良さがあります

・スクリプト言語である
なんでスクリプト言語にこだわっているんやろ?
HSPもスクリプト言語ですし
(ちなみに僕は主にHSPやってます)
でもスクリプト言語って手軽に書いて手軽に実行ってイメージありますよね
手軽に書きたいとは常々思ってますけど
Cも言語仕様がほぼ確定してますが、スクリプト言語じゃないから採用しないのかな?
ちなみに今は何回目かのJavaの勉強中だったりします
JavaとPerlを比べたらやっぱりPerlの方が手軽ですよね

・割とメジャーであり、研究用っぽいイメージがある
僕は主にHSPやってるんですけど、HSPってマイナーですよね
ってか研究用のスクリプトをHSPで書く人はいるのでしょうか?
研究用としてはCやLISPがメジャーなのかな?イメージですが
Cより研究用として向いていそうであり
LISPよりメジャーではあります
LISPは読みやすさ。より書きやすさに重点を置いているかんじしますよね

・色々と便利な機能がそろっている
Perlと言えば正規表現
僕は正規表現を書いたことは一度もありませんが
でも正規表現を除いても便利な機能があります
主にハッシュとリスト
CはハッシュとリストがないからPerlを採用した面も大きいです
ハッシュは使うかどうかわかりませんが
リストは使いたいです
リスト(実際は配列をこう使う予定です)に確率をぶちこんで
平均確率とか平均の点数とかを求めたいです
HSPにはハッシュとリストがないのがメインにしたくない理由です

・文字列操作に強い
CとPerlを比べて、ここでの一番のPerlの魅力は文字列操作に強いことです
Cの文字列は連結関数だとか比較関数だとか直勘的でないです
Perlは文字列操作に強いですよね
数値演算が主ではありますが、直観的に文字列操作ができるのはPerlの魅力です

・直観的に書ける
僕のプログラミング・スタイルにおいて直勘的に書けることは重要です
HSPでも直勘的な書き方がしたくて、よくラッピングします
色々な書き方が出来るのはPerlの特徴であり
その中で出来るだけ僕の直勘に近い書き方をして行こうと思っています

・第二言語としてHSP
自費出版用の文章に載せるプログラムは主にPerlで書く。と決めましたが
それでも第二言語としてHSPを使用する予定です
用途はグラフ描画です
HSPでグラフを描画するスクリプトを書いて自分でグラフを描けば
自費出版の費用も安くなるかなって
更にX軸Y軸Z軸の三次元的なグラフを3Dで描いて見やすく回転しよう。だなんて考えています
簡単に3Dの画像を書けるのはHSPの特徴の一つですよね