« 思考の余剰 | トップページ | ベンチマークなんて必要ですか? »

2008年5月 8日 (木)

言語の冗長さはコンパイラのためにある

もう、人間が機械にあわせる、という発想は時代遅れなのかもしれませんけど。

冗長さが除去されて言語が簡便になれば大規模開発にも役立ちます (矢野勉のはてな日記)

小クラス主義をとりますと、コンパイル単位を小さく出来る、という利点があります。コンパイル単位が小さくなれば、コードのどこかに手が入った際、他の依存するコンパイル単位も再コンパイルが必要、という事態を最小限に抑えることが期待できます。

コンパイラに型を推測させず、たとえ文脈から明らかな場合でも、型を人間が指示することで、コンパイラの負担を軽くすることができます。シンタックス・シュガーを用意せずに、人間がいちいちその”展開形”のコードを書くことで、コンパイラが余計な処理をせずにすむようになります。

大規模ソフトウエア開発では、ビルド・プロセスに何時間もかかるような、巨大なソフトウエアを開発するわけですよね。ある程度の負担を人間が引き受けることで、コンパイラの負担を軽くして、ビルドにかかる時間を短縮したい、というニーズはあるんじゃないですかね。例えば、JDKなり、Eclipseなりのソースコードを全てコンパイル/ビルドするのは、何時間かはかかる”重い”プロセスでしょうし、コンパイルが早くなれば嬉しいでしょう。

言語処理系の”性能”というのは、コンパイル後コードの実行時の性能だけではなく、コンパイル時の性能というのもありますから。コンパイラにシンタックス・シュガーを処理させるなら、その時間をコード最適化に使って欲しいというプログラマもいるでしょうね。

|

« 思考の余剰 | トップページ | ベンチマークなんて必要ですか? »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/80472/20845105

この記事へのトラックバック一覧です: 言語の冗長さはコンパイラのためにある:

« 思考の余剰 | トップページ | ベンチマークなんて必要ですか? »