« 2014年2月 | トップページ | 2014年5月 »

2014年3月

2014年3月13日 (木)

クヌースの数学の教科書

昨日、クヌースの「文芸的プログラミング」の書籍を紹介した。

日本では”文芸的プログラミング”は、プログラミングするときにドキュメントとソースを併記して、効果的に作業を進めることとよく言われるが、これは間違いではないが正しくはない。

肝心なのはドキュメントにかかれる内容であるが、不変条件やループ不変条件などの論理式や述語が中心となる点である。

そして、プログラムはこの不変条件やループ不変条件などの論理式や述語を満たす様にプログラム、コンパイル、テストするのであり、エクストリームプログラミングのテストファーストの原点にあたる。

だから、エクストリームプログラミングのテストファーストは、論理式や述語がやはり意識することが大切で、これを意識しなければテストファーストの価値は急落する。

さて、今日はやはりクヌースの数学の本である。

L1010110_convert_20140313095325

情報工学用の数学である。

L1010111_convert_20140313095418

クヌース自身が「コンピューター用の数学は自分がこれまで学んできた数学とまったく違う性質のものが要求されたので学び直した」と若いころの経験を語っている。

彼の過去の経験が反映された内容なのだと思う。

L1010111_convert_20140313095418_2

L1010112_convert_20140313095450

L1010113_convert_20140313095518

L1010116_convert_20140313095655

クヌースと他の2人の著者の写真が裏表紙にある。

|

2014年3月12日 (水)

「文芸的プログラミング」は科学的プログラミング~その2

クヌースの有名な書籍に「Literate Programming」がある。

翻訳もされている。

20年以上も以前の書籍であるが内容は古くない。

この本は以前も紹介しているが刺激に富む一冊である。

なぜ古くないと言えば、内容が普遍的なことを扱っているからである。

表面的にはやや古い印象を与える部分もあるが、本質は現在と変化していないテーマを多く扱っている。

クヌースは第一章で「文芸的プログラミング」と「科学的プログラミング」について言及している。

著名な研究者達の「文芸的プログラミング」と「科学的プログラミングの意見も紹介している。

いずれにしても「文芸的プログラミング」は、「科学的プログラミング」を基礎とし、その上でエンジニアの感性も必要と述べている。

なぜなら、この本で紹介されている数々の科学的な論点を理解していなければ、正当性のあるプログラムを書けないことが主張されているからである。

その上で初めて個々の感性などが必要になってくる。

さて、第2章では「goto文」について議論されている。

いまどきgoto文の話かよと思うかもしれないが、議論の内容は高度である。

おそらく多くの大学や大学院では教えていない形式的に扱う正当性の議論が展開されている。

多くのプログラマーは感覚的に「goto文」は不要だとか、「goto文」も時には必要であると考えている位だと思うが、より正確に検討するためには、ここで述べららている視点からの議論が必要だ。

L1020020_convert_20140312092719

アスキーから出版された翻訳版。

L1020021_convert_20140312092853

中はこんな感じ。

L1020022_convert_20140312093011

内容は論理式、数式のような記述が目立つ。

L1020023_convert_20140312093142

クヌースの言う感性やアートとは、あくまで理論的な基盤を持つ数式(論理式)などを通じて表現されることを主張していることは間違いない。

|

2014年3月11日 (火)

ソフトウエア技術書昨今事情

確定申告も終了し,年度末の慌ただしい業務の1つが一段落である。

オフィスもやや雑然としてきたので掃除と整理を行った。

オフィスで一番場所をとるのは書籍と資料である。

技術スピードが速いソフトウエアであるが、意外と古い書籍は破棄できない。

理由は非常に内容が濃く示唆に富む本が1980年後半から2000年にかけて出版されているからである。

この年度よりも古い本もかなりの良書が含まれている。

これもなかなか示唆に富む本である。

近年の技術書は広く浅くの書籍が多く、入門者や初心者レベルのものが多い。

あるいは深く詳細な議論や例がないものが多い。

今日紹介する書籍はC++によるクラスライブラリーの書籍であるが。

L1010105_convert_20140311123128

表紙。

洋書はこういう絵の表紙が多いが、OOライブラリーなので、バイナリーツリーや図形のライブラリをイメージしているのかもしれない。

L1010106_convert_20140311123205

中はこんな感じ。

L1010107_convert_20140311123236

L1010108_convert_20140311123303

L1010109_convert_20140311123357

|

« 2014年2月 | トップページ | 2014年5月 »