2011年1月30日日曜日

WEB+DB PRESS Vol.60 - プログラマが知るべき言語設計の基礎知識

個別の技術書ではなく,技術系の雑誌を読むと,普段意識していない分野についても情報収集ができてお得な気分です.

プログラミング言語を開発した人は,どうすれば人が『楽に』開発を行えるようになるかを考えてその言語を設計しています.なので,プログラミング言語の設計思想を知った上で,言語の選択や,設計・実装を行う事で,プロジェクトの生産性を高めることができるかもしれないですよね.まぁ,そんな劇的には効果はないでしょうが,一つの考え方の指針にはなるんじゃないかとは思います.

現在,当たり前のように使われているクラス・オブジェクトという概念や, もっと前から使われてきた文法規則などは,昔の言語設計では難しかったことを,『楽に』するために取り入れられ,徐々に受け入れられて来たもの.今普及している言語にも解決できていない弱点がある(多重継承の問題など)から,将来的にはそれを補うような設計思想を持つ言語に世代交代していくんでしょう.

弱点を補うために,より抽象的で表現力豊かな言語を採用すると,生産性を高める事ができるけれど,同時に学習コストが高いという問題もあります.現実的には学習コストが低く,より広く普及している言語と,目的に適した支援ツールやフレームワークなどを組み合わせた方がスムーズになる可能性は高いですね.

ただし,現状スタンダードな言語が将来もそうあり続ける可能性は低いので,現状の言語仕様が当然のものという思いは危険です.近い将来も,設計者・実装者としても役に立つよう,今使用している言語の課題を認識しておく必要があると感じます. 実際のプロジェクトで使うかは別として,空いた時間等で他の言語に触ってみるという学びの姿勢は重要なんじゃないかなと改めて感じました.

0 件のコメント:

コメントを投稿