連鎖性言語/簡潔性

連鎖性言語は非常に簡潔です。なぜなら、ワード (関数) 間の「グルー」が最小限だからです。グルーは、実際には単なるホワイトスペースです。連鎖性言語では、たとえば 1 行で 6 つワードを呼び出すことができますが、ほかの言語ならこれは 6 行のコードに相当します。連鎖性言語でなぜこのように短く記述できるかと言えば、それはパラメータ名と変数バインディングが省略されるからです。

連鎖性言語では、新しいワードを作成するときでも構文的なオーバーヘッドがほとんどないので、短い定義が可能です。単純にワードを並べれば、新しい定義に「まとめる (factor out)」ことができます。よく見受けられる誤解に、連鎖性言語では定義を短く記述しなければならないというものがあります。これは必ずしも正しくありません。むしろ、連鎖性言語では定義を短く記述することが可能であり、必要なら何らペナルティを課されることなく、コードを再利用できると言った方が正確です。実際、ほとんどのプログラマは短い定義を記述し、そのことから得られるメリット、すなわちコードの再利用、名前付けとドキュメント化のしやすさ、ユニットテストのやりやすさなどを十分に享受しています。

事実、一般的に言って、どんな種類であれ繰り返しがプログラムに存在しなければならない理由はまったくなくなります。コードの再利用率が高く、わかりにくい構文要素を使わなくてよいため、定義は短くなります。したがって、最も短い定義がしばしば最も読みやすい定義となります。これは適用型言語、とりわけ構文的に重い Perl のような適用型言語の場合とちょうど逆です。定義が短くなると、コードがより効率的になるという付加的なメリットがあります。したがって、連鎖性言語を使えば、効率、簡潔性、読みやすさのすべてを兼ね備えた優れたコードを記述することができます。

This revision created on Sat, 3 Jan 2009 01:35:12 by slava