プログラミングの基礎を読んだ

Amazon.co.jp: プログラミングの基礎 (Computer Science Library): 浅井 健一: 本

内容の概略や意義、著者のサイトはこの辺りを参照。

物理本であるのでためらっていたけど、待っても出るわけなさそうで久しぶりに買った。

cons

物理本なので移動中や出先で読めない。
ノートパソコン+タブレットぐらいしか置くスペースのないスタンディングデスクで作
業してるので、本を開くと、ギリギリあるいははみ出す。

期間

薄い本で、さくっと読める、というのをネットではみるがあんまりさくっとは読めなかった。
本文中に出てくる問題例と、練習問題と、発展で東京メトロネットワークの最短路問題
があるのだけど、問題例と練習問題だけを自分で考えながら解く、のでこれぐらいか
かった。
11/23-11/28, 12/7, 1/7-1/17
二度挫折している。
一日どれぐらいずつ読んだのかは日によって違う。

感想

わかりやすい
おもしろい

達人出版会で出してくれ!!

テスティングフレームワークこそ使わないものの、デザインレシピとこの本で呼んでいる、

  • まずコメントで目的を書く
  • コメントで型を書く
  • 引数など書いて、falseや0を返す
  • 期待する結果を変数に入れて、比較 let test01 = foo "bar" = false
  • 実装して期待する結果と合うか実行して確認

というので一歩ずつ進めていく。

だいたい文句はないんだけど、trueだとおもったらfalseでした!!
というpower-assertのassertとの比較でよく見るあれでしかでないので、間違った時に気づきにくい。自分で手で書き下した方のexpectが間違っていたことに気づくのに結構かかったことがあった。

途中でも書いたけど、メトロネットワークの方はやってない まず飛ばした。あと最後のヒープの実装もやってない。

しばらくはブログやqiitaで探してたんだけどそもそも著書のサイトで課題の回答例やデザインテンプレート埋めのツールみたいなの公開してるのでそれ見ればいい。

OCamlのインストールなどは、著者のページではなく最近のものに合わせる方が良い。
E.g. homebrewなど。

RubyMine/IntelliJでやろうとしたけど、OCamlのプラグインが古くて(?)エラー出てて使えなかった。

引っかかったところ

そこでしか使わない関数は、let in の中に押し込めよう押し込めようとしていくのだ
けど、そこはどうなんだろうあんまり賛成しないなー テストの変数書けないし。
let inで押し込んだところに限ってうまく書けずに、しかもtrueじゃなくてfalseです!! でイライラした。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中