« 最近耳にしないMDAツール「RoseRealTime」~標準的なオブジェクト指向でなくCSPベースのアプローチです。 | トップページ | 「CTC製造フォーラム2011」で講演します~ホテル日航東京 »

2011年9月22日 (木)

「プログラミングの科学」~日本企業は意識が低いソフトウエア正当性~

少し古い書籍になるが名著の誉高い「プログラミングの科学」を読んでいる。

L1000212_2 L1000213 L1000214 L1000215 L1000216 L1000217 L1000218

内容は一言で言うとプログラムの正当性についてである。

バートランド・マイヤーが提唱した「契約に基づく設計」とうのがあるがあるが、この中で登場する「表明」「不変条件」「事前条件」「事後条件」などはバートランド・マイヤーのオリジナルではない。

フロイド、ダイクストラ、ホアなどの研究者の成果をバートランド・マイヤーが自分の設計言語Eiffleと彼のソフトウエア設計思想に組み込んでいる。

この書籍は、プログラムを科学的に設計・実装するときには、重要な考え方があるのだがそれについて順を追って述べている。

命題と述語から始まり「表明」「不変条件」「事前条件」「事後条件」をどのように見つけ出し、設計・実装するかまでを解説しているが、途中に非常に重要な概念や技法を解説している。

本書は記号論理学の書籍ほど固い本ではないが、述語論理について慣れていない人には受け付けないタイプの書籍である。

ただし、この手の内容はひとたび重要なポイントをきちんと学ぶ機会を得て、理解すると数学的である故に、似たタイプの本はすっきり読み進めていける。

一方で、この手の内容は大学できっちり教え、そして学ぶ機会を得ないと、必要と思っていてもなかなか学習するチャンスが無いかもしれない。

そいういう意味ではJava言語のプログラミングとかUMLなどのような事はいくらでも独学できるから、そのようなカリキュラムに時間を掛けるべきでは無い気がする。

日本人がソフトウエアに弱いと言われるのは、論理的な部分が不十分になっているからだと思う。

|

« 最近耳にしないMDAツール「RoseRealTime」~標準的なオブジェクト指向でなくCSPベースのアプローチです。 | トップページ | 「CTC製造フォーラム2011」で講演します~ホテル日航東京 »

「パソコン・インターネット」カテゴリの記事