« クヌースの数学の教科書 | トップページ | ETロボコン2014の講演の案内 »

2014年5月 2日 (金)

ソフトウエア開発の温故知新~ソフトウエアの正当性の理論や型推論

GW中であるがカレンダーでは平日なため、仕事もしている人は多いと思う。

それでもGWの谷間なので、繁華街もどこか大らかな雰囲気が漂っている。

GWが開けると結構慌ただしくなるが、GW出れば普段なかなか時間が無くて読めなかった昔の技術書やホワイトペーパーを見る時間が取れている。

ある有名な外国の数学者がソフトウエア開発分野は、30年前と今とでは技術者のレベルが向上していないと述べているが、おそらくこれは事実と思う。

表面的には新しい開発ツールや言語などが登場し、一見大きく技術的な進歩をしているように見えるが、視点を変えるとガラリと変わる。

それは、最も基本となるソフトウエア開発に欠かせない数学や論理学はほとんど知らずに作業しているエンジニアが多いとおもうからだ。

現在のソフトウエア開発のトレンドは「ビルド&スクラッチ」的である。

まぁ、今風に言えばイテレーティブなプロセスで、テストファーストな開発が主流である。

ただし、ソフトウエアの正当性の理論や型推論の知識を使って、設計と実装をすることがゴッソリ抜けているので、巷でアピールするほとテスト効率や実装効率は上がっていない。

設計と実装に論理的妥当性がないからである。

論理的妥当性は数学や論理学を応用した各種ソフトウエア理論や原理を活用して行うのである。

イテレーティブなプロセスで、テストファーストな開発は否定しないが、ここに数学や論理学を用いた設計や実装を加えると良い。

数学や論理学を用いたソフトウエアの正当性の理論や型推論は、かなり昔から大学の教科書などとして出版されているから、それを手に入れて研究するとよい。

勉強しなければならないことは相当あるから、まずはどこから始めると良いかを考えることが大切だ。

|

« クヌースの数学の教科書 | トップページ | ETロボコン2014の講演の案内 »

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