以下では、言語の特徴のどれが言いとか悪いとか、 宗教論争 [1] みたいなのとかは一切論じません。
実際 FML.ORG のソフトウエアは主に Perl と C 言語で書かれています。 適宜 Bourne Shell script や AWK そして sed も使いますが、 主な使用言語といえるほど使ってはいないかもしれません。
また、おもに Unix 上でのソフトウエアを書いていますが、 M$ 上で動かす必要があれば M$ 上での開発もします。 例えば M$ 文化圏の方が MPEG エンコーダ関連については優秀です。 だから fondub は M$ 用です。
どんなもの(言語、プログラム、その多諸々)に、 それぞれの罠はあるでしょう。 罠をあげつらって、どうこう言ってもしょうがない。
言語の宗教戦争より、どう罠を避けうまく使いこなすかを考えるべきです。
One liner や 3 行 hack などでは便利です。 が、10 年保守しようと言うプログラムでは自己規制が必要でしょう。
暗黙の使い方や、無理に複数行にまたがる書き方はせずに、 行数や変数定義のオーバヘッドが増えても、 ばらばらに書くようにしています。
例えば、
my ($a, $b, $c) = ( なんかする、 なんかする2、 なんかする3);などより
my $who = なんかする(); my $where = なんかする2(); my $when = なんかする3();などとはっきり一つ一つ書くべきだとか、 変数名の変な省略はしない( $_ を使うのはやめよう )とか、 そういう心がけは大事です。
個人的には、python が ABC 言語から受け継いだ、あの indent 規制を意識したスタイルを心がけています。 [2]
Perl 5 では 『ポリモーフィズム』と 『実行時バインディング』 を是非生かしましょう。
[1] | 信仰の問題に属する内容としては次のようなものがあります( くわしくは Code Complete 参照)。 「プログラミング言語」 「インデントスタイル」 「中括弧」 「開発環境」 「コメントのスタイル」 「効率性vs可読性」 「方法論」 「プログラミングユーティリティ」 「命名規則」 「goto文」 「グローバル変数の使用」 「生産性の測定」 |
[2] | だったら、python 使えよっていうツッコミは御遠慮下さい:-) もちろん python は好きなんですけどね。 |
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >