Haskell勉強会

関数型プログラミングの学習日記

プログラミングの基礎 1.1 デザインレシピ

haskell.hatenablog.com

 

1.1 デザインレシピ

本書の目標は、3段構えになってました。

  1. メトロネットワーク最短路問題を解く
  2. コンピューターサイエンスの基礎=データ構造とアルゴリズムの理解
  3. 正しいプログラムを作る方針=「デザインレシピ」の理解

 

(p.2)

プログラミングというのは「適当に」やればどうにかなるものではありません。

系統立ててものを考え、正しい方針にのっとって行わなければ、できあがるプログラムは間違いだらけの信頼性の低いものになってしまいます。

信頼性が高くて間違いの少ないプログラムを作るにはどうすればよいのか、それを習得するのがこの本の究極の目標です。

 

本書で提示する方法はデザインレシピを使う方法です。

デザインレシピというのは、プログラムを作る、デザインするにはどうすればよいのかを示すレシピです。

レシピにしたがっていればおいしい料理ができあがるのと同じように、デザインレシピにしたがっていれば間違いの少ないプログラムを作ることができます。

 

p.5で紹介されていますが、「デザインレシピ」という考え方は、フェライゼン(M.Felleisen)らによって提唱されているものだそうです。

 

How to Design Programs: An Introduction to Programming and Computing (The MIT Press)

How to Design Programs: An Introduction to Programming and Computing (The MIT Press)

  • 作者: Matthias Felleisen,Robert Bruce Findler,Matthew Flatt,Shriram Krishnamurthi
  • 出版社/メーカー: The MIT Press
  • 発売日: 2018/05/04
  • メディア: ペーパーバック
  • この商品を含むブログを見る
 

 

以下のサイトで全文を読めます。(英語)

https://htdp.org/

 

本書でデザインレシピの考え方を理解してみたいと思います。

(余力があれば、本家の説明も読んで参考にしてみたいと思います。)