[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

言語特性

以下では、言語の特徴のどれが言いとか悪いとか、 宗教論争 [1] みたいなのとかは一切論じません。

実際 FML.ORG のソフトウエアは主に Perl と C 言語で書かれています。 適宜 Bourne Shell script や AWK そして sed も使いますが、 主な使用言語といえるほど使ってはいないかもしれません。

また、おもに Unix 上でのソフトウエアを書いていますが、 M$ 上で動かす必要があれば M$ 上での開発もします。 例えば M$ 文化圏の方が MPEG エンコーダ関連については優秀です。 だから fondub は M$ 用です。

どんなもの(言語、プログラム、その多諸々)に、 それぞれの罠はあるでしょう。 罠をあげつらって、どうこう言ってもしょうがない。

言語の宗教戦争より、どう罠を避けうまく使いこなすかを考えるべきです。

プログラミング言語 Perl

perl の自由度のある書き方はどうなのよ?

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 オブジェクトの特性

Perl 5 では 『ポリモーフィズム』と 『実行時バインディング』 を是非生かしましょう。

Notes

[1]

信仰の問題に属する内容としては次のようなものがあります( くわしくは Code Complete 参照)。 「プログラミング言語」 「インデントスタイル」 「中括弧」 「開発環境」 「コメントのスタイル」 「効率性vs可読性」 「方法論」 「プログラミングユーティリティ」 「命名規則」 「goto文」 「グローバル変数の使用」 「生産性の測定」

[2]

だったら、python 使えよっていうツッコミは御遠慮下さい:-) もちろん python は好きなんですけどね。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >