2011年12月31日

HP 35s

Common Lisp脳を鍛えるために役立つかどうか半信半疑ですが、逆ポーランド電卓買いました
HP 35s
後置演算対応の電卓です
Common Lispは前置だから完全に一致しているわけではないのですが、中置よりは全然力になるかなと思いました
と、言うのは購入に対する言い訳で、昔会社の人と休みの日にサッカーしてた時期がありましてですね、せっかくなんでサッカー好きな友達を誘って一緒にやろうぜって誘ったんですけどその友達は確か結局1回か2回しかサッカーしなかったんですよね
結局スパイクが欲しくて、当時ベッカム全盛期だったのですけどその友達はベッカムモデルのアディダスのスパイクが欲しかった
ただサッカーしないのにスパイクだけ買うってのがどうもなっとくいかなかったみたいでそこで俺がサッカー誘ったからこりゃ絶好の機会だねってことで早速スパイク買ってましたよ
サッカーするんだからスパイクなかったら話にならないってことでスパイク買ってた
HPの逆ポーランド電卓かったのも完全に欲しかったからなだけで、Common Lisp脳を鍛えるなんてのは購入に対する言い訳でしかないのですけどね

2011年12月30日

21章

STLアルゴリズムについて
と言っても一般的なアルゴリズムの解説ではなくてコンテナやイテレータを利用してSTLでどうやって汎用性のあるアルゴリズムを提供しているかについて
また、STLアルゴリズムの利用方法について
コンテナを選ぶときの基準
STLって不慣れな人にはすごく利用しづらいものだと思うので、例えばテンプレートとか引数とか一目見ただけだとなんのことなのか良く分からないと思うのでそれらの解説
アルゴリズムを利用する際の要になる関数オブジェクトについての説明、使い方
昔、関数オブジェクト全然理解できなかったのだよねってことを思い出しながら読みました
コンテナ、イテレータ、アルゴリズムが独立しているこのSTLの概念に触れるたびにすごいなと関心しっぱなしです、本当にスゴイと思う

20章

コンテナとイテレータについてとそれぞれの内部のカラクリに関して
それぞれがどうなっているか、どういった機能が必要でそれを実現する方法について
色々なコンテナ、イテレータを区別しないで利用できる利点、必要性に関して

2011年12月24日

19章

やっとテンプレートの説明登場。
待ってましたと言った感じです。
アロケータとかでてきましたね。
なんか一気にレベルが上がった気がするのですが。
テンプレートの登場で一気に抽象度が上がったように感じるな。
面白くなってきましたね。
アロケーターについて説明があってやっと意味が分かった。
意味と言うか存在理由というか、なんのためにこれがあるのか不思議だったので。

18章

コンストラクタについて。
コピーコンストラクタ、代入の意味や扱い方について。
浅いコピー、深いコピー。
浅いコピー、深いコピーについはクラスを扱う上では絶対必要になる。
クラスにどんなコンストラクタ、デストラクタが必要かのヒント。
あとは構文の見た目が自然になるように演算子オーバーロードについて。
配列についての考察とポインタとの関連。
値渡し、参照渡し、ポインタ渡しについて。
ポインタの問題点、注意点が詳しく記述されているので特に注意しておくといいと思う。

17章

vectorを作りつつ色々学ぼうということ。
vectorと配列の違いやポインタについて。
アドレスとかデリファレンスの説明やなんでそんなもんがあるのかなど。
この説明がやっと登場するあたりさすがC++って感じですね。
このポインタやアドレスの説明読むとまあしょうがないそりゃそうだと思えるのだけど世間でよく言うように普通に挫折してそしてPHPやらなんやらで満足することになるのだろうな。
確かに初学者がこれ読んで「なるほど面白い」と思えるかと言うと素直にそうは思えないですがこれは非常に重要なことなので是非この難関を突破して欲しいところですね。
そしてクラスの説明もやっと登場。
とてもとても初歩的なクラスの説明だけど基本は大事だからしっかり身につけたいところ。

2011年11月13日

16章

GUIについて。
あるいはWindowシステムかな。
ユーザーとの対話に利用するボタンやテキストの入出力をGUIでどうやって行うか。
前章まではプログラマが一方的に実行するだけだったものをユーザーとやりとりしてその変化を画面に表示させる方法。

15章

いままでの説明から実際にグラフを描画するための注意点のまとめ。
グラフの生成に関してなにに注意してどうやって描画するかの手順。

14章

仮想関数とかオーバーライドを解説してある。
ここはいっきに難しくなっている。
抽象化とかについて。
仮想関数の実現方法なんかいきなり言われてもピンとこないだろうけど説明は必要だと思うのでちょっと難しくなっているのはしょうがないかな。
話がグラフィックから離れ気味でクラスについての説明、オブジェクト指向の考え方についてになっている。

p.453の
「言語の達人になることはお勧めしない。」
はなかなか感慨深いお言葉だと思います。

13章

グラフィッククラスの説明。
ついでに継承とか階層について。
継承関係の説明でグラフィッククラスを例にしている点は非常に理にかなっていると思う。
各クラスの関係性が割りと理解しやすいと思うので。

12章

普通の入門書ではありえない楽しい内容。
やっぱりグラフィックとか扱うのは楽しいよね。
と、言うことで楽しさを提供したいのだろう。

2011年10月30日

11章

入力と出力のカスタマイズ
operator<<()やoperator>>()の話です
クラス作って自分なりのoperatorを定義しましょうって感じでした
そうすれあ面倒じゃなくなるよってことなんでしょうね
ただやっぱり相変わらずエラー処理やフォーマットの話だから退屈でした

10章

入力および出力ストリーム
正直言って退屈な話題だったよ
IOといえばエラー処理や検証なのだけどそんな話ばっかりだったです
大事なことと言えばそうなんだけどさ改めてこんな話をされると退屈だよね
そんなに意思が固くないのですいません

2011年10月25日

ジョン・マッカーシーについて

本当にお礼を言いたいです
Lispは本当に素晴らしい言語だと思います
Lispがなかったら生きている楽しみが半減してます
Lispには本当に素晴らしいものが詰まっています
ガベージコレクション、ラムダ、マクロ、S式、リスト処理
本当に素晴らしいと思う
亡くなったこの機会に本当にお礼を言いたいありがとうございます
以前から思っていたのだけどこうやって改めて言うきっかけがなかったのですが改めて言いたいです
ジョン・マッカーシーは亡くなったけどLispは不滅だと思う

2011年10月21日

ascii technologiesが休刊だって

売れなかったんだろうな
これだけコンピュータ全盛の時代にもかかわらず売れないんだろうな
やっぱり日経ソフトウェア程度のものにしか興味ないんだろうな
まあそうは言っても俺も買ってなかったくらいだからね
まともな雑誌の残りはsoftware designだけなんだけどさあれもほとんど広告だからね
ほとんど広告であの値段では売れなくてもしょうがないよね
コンピュータが発達して情報がゆきわたるようになったら発展に貢献した技術雑誌が衰退していくとはなんとも悲しいかな
でもこれも時代の流れだと思うと逆らえないことかもね

2011年10月14日

デニス・リッチーについて

なにか特別思い入れとかあるわけじゃないしそんなに知らないんですけど一応C言語やUNIX作ってくれた人ってことでお礼を言いたいですね
まあ別にC言語習ったときは既に時代遅れな感じだったからそこまで感動とかないんですけどね
ただ圧倒的にすごいとは思いますよ
C言語とUNIXだからね
今のこの世のこの状態にこれだけ影響ある人はあんまりいないんじゃないのかな
ってくらいC言語の影響力はすごいとは思うけどね
こちらも最近お亡くなりになられたスティーブジョブズさんとはまったく対照的な感じですよね
スティーブさんは表にでてどうこうって人だけどデニス・リッチーは影の存在陽があたってないなって
yahooの見出しが名前じゃないところがスティーブジョブズとは違った人柄なんだろうな

2011年9月18日

9章

クラスについて
クラスの存在する意味や目的
インターフェイスの大切さについて
なんでもかんでもメンバにするんじゃなくてヘルパー関数で解決しましょうっていいこと言ってますね

第1部終了
C++の言語仕様の基本を一通りめぐったって感じですね
標準ライブラリもほとんど登場しなかったしC++の特徴らしさに触れるのが第1部かな
配列が出てこないところがいいですね

2011年9月4日

8章

関数とその他のC++の説明。
コールスタックの説明が新鮮。
関数の説明も詳細ですね。
参照渡しが解説されています。
const参照渡しはC++らしい機能も。

7章

これは入門者にとってはとても難しい内容ですね。
追記にあるとおりコンパイラの動きを説明しているようなものですから。
この章で挫折する人いるんじゃないかな。
サンプルも動かないしさ。
正直しんどいと思います。
コンパイラとはこういうものだからということはすごく重要な概念だからあきらめないでほしいですね。

2011年9月3日

6章

文法をここまで詳細に解説している本はなかなか見かけないかな。
プログラミング言語が言語と言われている理由が理解できるかも。
この章を読むと言語について学習していると思える。
文法について説明しようと思うとこうなるのだなと。
プログラムの入門書で構文解析なんて登場するとは思わなかった。
でも知ってることは非常に重要だと思うので必要なのかな。

5章

例外登場。
不正な引数やランタイムエラーなどとても入門書らしい内容。
がこんなにも早く登場している。
実行時エラーコンパイル時エラーを色々な例でしてしてあるので分かりやすいと思う。
引数チェックや戻り値チェックも解説してある。
普通のプログラムなら当然チェックしてあたりまえのことが説明されている。
始めたばかりの人はエラー処理とか端折りたくなると思うのだけどこうしたことがキチンとできるかどうかが大きな分かれ目になると思うのでエラー処理デバッグに関してはしっかり勉強してほしいと思う。

4章

いきなりvectorが登場するあたりはなかなかすごいですね。
<>とか説明しないでこういうものだと言い切っているあたり入門書なんだなと改めて思いました。
後からちゃんとした説明がでてくるのだろうけど配列の前にvectorが登場するところは素晴らしいと思います。
C++を使ってるなと。
Cの配列使わないでvector使うようにさせているところは素晴らしいですね。
制御構造や繰り返し型に関しては普通だと思う。
ただし注意点switchのbreakを必ず付けるよう言っているあたりもいいですね。
この本でプログラミングを勉強しようとしている人はこういう注意点まで記述されているから読んで含めて欲しいと思います。

2011年8月29日

3章

普通です
他の今までの章と比べるとあまりにも普通すぎてびっくりする
違う本読んでるかと思うくらいに普通
普通に値の話
「=」演算子の動きだったり値の初期化と代入の違いを説明したり
「=」が数学的な等式ではなくて代入だと言っているあたりは普通によく見かける普通の入門書みたいです
普通にこんな話もあるってことがわかってよかった
やっと普通にプログラミングがでてくる
しかしここまで読みすすめないと普通の話がでてこないからこの本は手に取らないだろうなとやっぱり心配になりますね

2章

とにかく概要
いままでの細かい話とは一転して本当に概要
プログラミングとかソフトウェアに関して現実的にどうやって成り立っているかがめちゃくちゃ大雑把に書いてある
対象者が読んで理解できるか謎すぎると思うのだけどBjarneが相手にしている人はこんな感じの人なのかと思ってしまいました

1章

哲学の本かと思った
とてもプログラミングの本とは思えない
まったくソースコードとか出てこない
intとかまったく出てこないでBjarneの熱い思いで一つの章が出来上がっています
熱い思いを持った人が対象の本なだけあってありえない内容です
ここで挫けないで欲しいところですけど

2011年8月28日

0章

まえがきと0章
長い
このまえがきの時点でこの本の対象者は逃げ出すんじゃないかと心配になっちゃう内容
この時点で「やさしいC++」とか「できるC++」みたいな本に興味が移るんじゃないかなと
まえがきとか0章読んでみてもその対象者と想定されている人との剥離っぷりがすごいと思う
これからプログラミングを学ぼうとしている人にたいしてソフトウェアとかプログラミングについていきなりここまで語っている人もめずらしいのではないでしょうか
熱いのは熱い熱意は非常に感じられる0章でしたが

2011年7月4日

実践Common Lisp再読中

快楽主義でいくとすると実践Common Lisp読むのが一番自然かなと思って再読中。
他にも未読の本が多数あるのだけどこの本を読み返すのが一番かなと思って読んでます。
改めて読み返してみるとさすがCommon Lispの本だけあって序盤でマクロです。
一回目読んだときは意味も分からずただ読み進めただけだったからさ。

しかしマクロ全然わからない。
自分でマクロ作るなんて全然うまくいかないのだけど、とりあえず標準で用意されているマクロを自分なりに実装してみることにしました。
「cond」なんかどうやってやってるか全然わからない。
大体「and」の時点でお手上げ状態。
とりあえずできたような気がするのが「when」「unless」だからね。
難しいね。

9章まで読み返したのだけどやっぱり肝はマクロだな。
マクロは魅力的過ぎる。
四苦八苦してやっと理解できたこととしては、マクロは評価されるタイミングが違うから、引数のS式が評価されないって点に気づくまでえらい時間がかかってしまいました。
だからマクロの呼び出しは「'」しないのだと。
何回読んでも「definition for mac, read only」意味不明だったけどマクロ呼び出しの時は引数のS式が評価されないってわかってからは、この小話の意味がちょっとだけ分かったような気がする。

しかし、「'」や「`」や「,」や「,@」ってスゴイこと考え付いたよね。
でもこれらを自由に使いこなせるようになったらマクロ無い言語は不自由に感じるんだろうな。

2011年7月3日

初めての人のためのLISP

竹内 郁雄著

他の言語やったことあるプログラム経験者に対してLISPの紹介、LISPをやったことあるけど意味わかんないやって人のためとか。
対象はそんな感じの人達ではないかなと思う。
たとえば'(quote)とか、condの書式とかなんでこんな風になってるのかとか。
自分はrplacaとかrplacdとか勉強になったかなと。
あと、setfの由来と言うかなんなのかとか。
マクロに関しては相変わらずさっぱりわからない状態です。
バッククオートとカンマ、カンマアット相変わらず不明。
自分でマクロ書けない、まだ自力でマクロ書けない。
副作用のある引数が複数回評価されることについては問題点は理解できているのだけど空で書けるか、防ぐことができるかと問われると自信がないですね。

やっぱりLispでプログラム書かないといけないよな。
マクロとか本で読んでソースを眺めているばかりではいつまでたっても自力で空でかけるようにならないのだろうな。


最後にこの本はCommon Lisp寄りでSchemeっぽくないです。
funcall、applyが登場しますので。

2011年5月29日

ふつうのHaskell

8章
無名関数、関数合成、部分適用など素晴らしい話だらけの章。
あと興味深いのはポイントフリースタイルについてですね。
こういう話ばっかりだと楽しいばっかりでいいのにな。


9章
型と型クラス。
クラスはいわゆるC++やC#とかのオブジェクト指向のクラスって言うよりも、本にも書いてあるとおりインターフェイス的な扱いみたい。
ただ、ちょっと難しいかな。
多相型とか言われても分からない人とか多そう。
だし自分もイマイチ利点とか分からない。
だけど、型や型クラスの扱いが満足にできるとHaskellの強力な型推論を更に味方につけることができるのかもね。
難しいところだけどさ。


10章
モジュール。
は、ライブラリってところですかね。
インポートとかエクスポートとかそういったことの話。
この章は理解とかそういうことよりもHaskellで用意されている話だから難しいことはないと思う。


11章
モナド。
大問題のモナド。
ちょっと読んだ限りだけど全然、全く意味不明。
Maybeとか全然分からないのですが大丈夫でしょうか?
不安でしょうがないしイヤになってくる、挫折しそうなくらい難しいのだけど。
利点とか説明されても利点がさっぱり理解できないのだけど。
説明されたらそうなんだろうなと思うだけで、イザ自分でこんなこと思いつけるかって言ったら普通に「無理」の一言だと思う。
現状だとそんなもんです。
それが現実です。

2011年5月28日

Haskellたまらないな

面白いな、Haskell。
関数の部分適用とか関数合成素晴らしいですね。
ソースコードが短くなるって言うことは何にも代え難いことですよね。
素晴らしい。
ますますPHPがうんことしか思えない。

ポイントフリースタイルは脊髄反射で行いないといけないらしい。
これは一定の法則があるのだろうけどさ、将来的に慣れてくるといきなりポイントフリースタイルで記述できるようになるのかな。

2011年5月22日

読書中「ふつうのHaskellプログラミング」

昔々、購入したけどさっぱり理解できなくて途中で挫折したのですが、なんとなく思い立って読み返してみました。
そしたら分かる分かる、めちゃくちゃ面白い。
第7章まで読んだのですが、とりあえずパターンとかガード、let、whereあたりはちょっと辛いけどそれ以外は結構理解できてる気がしていいですね。
やっぱりなんだかんだ言ってもそれなりに成長してるんだなと思いました。

非常に強く感じたのが以前に必死で呼んだSICPの内容がすごく役に立ってるってこと。
やっぱり無理してSICP読んだ甲斐があったってもんだよな。
SICPもすごく面白かったからね。
難しかったけど。
今、Haskellやってみても結構理解できるからさ。

改めて読んでみるとすごく面白い内容で、やっぱり理解できているから面白いと感じるわけで、購入当初は全然面白いって思えなくてなに言ってるんだかさっぱり訳分からなかったから途中で読むのやめちゃったんだよね。
モナドとかそんな以前に高階関数とかの時点で終了って感じだったからね。

第7章まで読んだなかだと、第5章の遅延評価が圧倒的に面白い内容ですね。
Haskellの特徴の純粋とか関数の評価方式とかすごく面白い内容で参った。

内容はちょっと難しいかもしれないけどこの本の内容を理解できればプログラミングがもっともっと楽しくなると思う。
今までとはちょっと違った視点からプログラミングを見ることができるようになるかもね。

2011年5月10日

PHPみたいな原始人が扱うような言語は二度と利用したくない

二度と使うかって思うよ。
PHP。
これぞザ・仕事って感じがしていいよね。
っていうか、なんでこんな原始的な言語がこれだけ普及してるか全然わからない。
理解できない。
正直、かなり仕事辞めたくなってきた。
これ以上PHPとかやってたら発狂しそうなんだけど。

2011年5月8日

ただしJavaScriptの様な洗練された言語を利用すると色々と勉強になる

PHPやってみてもさっぱりなにも得るものが無いのだけど、って言うか、PHPってプログラマーの負担が多すぎる言語なんだよな。
こんなクソな言語、原始人しか使わないような気がするのだけど。
石のお金とか、石器時代の人たちだったらものすごくありがたがる言語だと思うのだけど、21世紀の今を生きてるとPHPなんか全然使いたいと思わないよね。
なんでこんなクソな言語がこれだけ利用されているのか全然理解できないのだけど、現代に石器時代の人たちが、特にWebの世界には石器時代から来た人達が多いのだろうか。

JavaScriptの良さを今更取り上げている時点で時代遅れだってことは分かってるのだけど、JavaScriptのpublic、privateとかを学ぶと、いわゆるオブジェクト指向のpublic、private、protectedがいかに野暮ったいかってことだよね。
特にprotectedに関してはまったく不要な余計な機能ってのがよくわかる。
必要なのはprivate、publicのみであって、protectedとか全然不要だってことだよ。

しかし、このクロージャって素晴らしい機能だよな。
自分は今までC#やC++ばっかりやってきたからクロージャってあんまり接したことがなかったのだけど、これは素晴らしい。
どうもいわゆる「C言語系」の言語ってコンピュータの動作原理に縛られてる気がするんだよね。
JavaScriptやってみるとLispの影響をすごく受けている気がするのだけどそうなのかな?

JavaScriptって本当に誤解されてる、なんて言うか割に合わない評価しかされていないなと思うのだけど「うんこJava」と間違えられたり、これまた「うんこActionScript」と同じだと思われたり、昔の悪い印象で正当な評価されてないなと。
現在はクソFlashのうんこActionScript全盛だけど、絶対歴史に残るのはJavaScriptのハズだと思うのだよね。
数百年後、FlashとかActionScriptなんて全然誰も知らないし、あったとしても負の遺産としか認知されていないハズ。
もし、数百年後にプログラミング言語とかあるとしたら絶対JavaScript残ってると思うのだけど。
インターネットとかWebサイトとかあったとしたら絶対JavaScriptあるはず。



とりあえずLisp派としては数百年後にはもっともっとLispが注目されてるとうれしいと思うのだけど。

2011年5月7日

静的言語と動的言語について思うところ

昔は静的言語ばっかりやってました。
最初に大学でプログラミングを学んだ時はC、Fortran。
その後、C++。
仕事ではC++、C#。
そして現在はPHPやJavaScriptを利用することがほとんど。

今日久しぶりにC#でプログラムしてて思ったのだけど、今、動的言語ばっかり利用するようになって改めて思うのは静的言語の方がいいなってことかな。
コンパイラに引数とか型とかチェックしてもらえることはやっぱり素晴らしいことだなと。
JavaScript程度だったらまだいいのだけど、PHPとかでそれなりにプログラミングしてるとやっぱり不便なことの方が多いかな。
メールの問い合わせフォーム程度を作るならコンパイラとかワザワザ必要ないし、フォームの処理自体にそんなにチェックとか必要ないし、コンパイルしないといけないと煩わしさの方が目立ちそうだけどさ。

ポールグレハムなんかは動的言語素晴らしいって言ってるけど、やっぱり静的言語の方がいいかな。

2011年3月21日

jQueryはスゴイ

カッコイイ。
今までプロトタイプ使ってたのですが、会社でjQuery使うことになってるのでjQuery使ってみたんですけど超カッコイイ。
プロトタイプって一体なんなんだ?
古臭いぞ。
このインターフェイスは素晴らしい。
JavaScript最高だな、jQueryも最高だな。
いままで原始的なJavaScript標準のDOM操作とかしか利用したことないからjQueryは便利すぎてビックリするな。
列挙が簡単以前に列挙しなくてもいい、ってところが素晴らしい。


Windowsの、例えば.NetとかのクラスライブラリもjQueryみたいなカッコイイインターフェイス導入すればいいのにね。
LINQもかなりカッコイイんですけど、程度やろうとしてることはできてる気がするけど、jQueryまでは至ってないのではないでしょうか。
WindowsのGUIもDOMの操作みたいなものだから、jQueryみたいなことできそうなんだけど、実際に操作するための言語がついてきてないんだろうな。
C#もC++もBasicもJavaScriptほどの威力持ってないからな。
そういえば、F#だったらある程度の可能性を秘めてるんじゃないの?
あの、流れるようなインターフェイスもF#だったら結構いけるんじゃないですかね?
無理ですかね?
WindowsのGUIとか作るとどうせDOMの操作みたいなことしないといけなくて、自作のしょぼいライブラリを作ることになるんだよね。
そう考えるとjQueryみたいなライブラリがあって楽に操作できるようになるといいんだけどな。

2011年2月8日

PHPぬか喜び

匿名関数とかクロージャがあるってちょっと感激したら、ウチの会社ではPHPのバージョンが5.2だったよ。
だから匿名関数とか使えない、一世代前の、要は旧世代のPHPしか利用できないみたいだよ。

ってことでちょっとヤル気でたけどいきなり萎えました。
楽しみが減ったのですがこの先どうしようかと思案中です。

2011年2月6日

PHPについて

仕事でPHPやることになったので感想とか。

匿名関数が使えるのは驚き。
クロジャーも用意されているとは。

protectedってPHPだと使うことはなさそうなんだけど。
だけどfinalはあるんだな、これは正直どうかと。
多分、もともとオーバーライドできたんだろうな。
普通にできちゃったんだけど、発端が基本virtualだから逆にfinalで制限かけるパターンなんだろうなと。
やっぱりオブジェクト指向はイマイチなのが多いのかな。

抽象クラスもあるみたいだぜ。
一体だれがPHPで抽象クラスなんか使うんだか。
普通のHTML生成プログラム界隈でイチイチそんなことやる人いるのかね?
インターフェイスもそうなんだけどね。

遅延静的束縛
だいたい
多態
ってことでいいのかな?

オブジェクトの寿命はやっぱり参照カウント方式なんだな。
参照カウント方式は簡単そうなんだけどね、いろいろと問題とか多そうなんだよね。
ただし、HTML生成に特化してるとしたらプロセスの存続期間が比較的短めの場合が多いと思うので参照カウント方式とかの方が現実的にはよかったりするものなのかもしれないけどね。

2011年2月5日

CGIの意味がやっとわかったかも

Webサーバーと別のプロセスで実行されるものがCGIなのか。
そんな理解でいいのだろうか。
だったら全然話はわかるんだけど。
そんなこととは全然しらなかった。

2011年1月15日

実践 F# 関数型プログラミング入門

1章、結構面白いですね。
歴史とか、不遇とか。
読み物で構成されている。

2章、リファレンス的な内容。

3章、F#の基本と特徴。

4章、基本的な関数とか演算の説明。
この辺りまでは普通に理解できる、普通の人だったら挫折しないであろうと思う。

5章、この章でF#らしいところが出てくる感じですかね。
型推論について、ここで登場するんですけど、もっと前に出てきててもいいような。
ただし、読者対象が例えばC#プログラマを対象としてたらもっと前の方がいいような気がするんですけど。
自分の印象としては、型推論は結構肝になるような気がしてたから、もっと紙面を割いてもよさそうな気がするのですが。
その他、例えばパターンマッチとかfunction式とかレコードとか判別共用体とか単独ではある程度わかるけど、一気に言われるとちょっと難しいですね。
これは、段々わかってくると思うけど、ちょっと不安になるし式の見た目が慣れていないので身構えてしまう。
ジェネリックももう少し多めに解説してほしいような、ちょっと短いんじゃないかなと。
この量については著者も悩んだろうなと思うのですが、5章は全体的に短い印象ですね。

6章、この辺りから実践向けの内容。

7章、この章を自分の物にできるかどうかが大きな分かれ目って感じですかね。
コンス「::」と結合「List.append」の違いの注意が弱いんじゃないかなとちょっと心配。

8章、ちょっと難しかった。
再読の必要があるかと。

9章、.NET Frameworkのライブラリの説明。

10章、 実践的な話題。
実際の開発では役に立つと思う。

11章、

12章、実践的な内容、PowerPackの説明。
ASP.NETの説明はとても興味深い。

全体的な印象では「駆け足」で説明って感じです。