本書はSQLの構文の説明は一切なしに、いきなりCASE式の解説から入っています。
(まえがきで断っているように、実務でのSQLの経験がある人を対象にしているためです)
そして、以降でも随所でCASE式を使ったSELECT句での分岐が使われています。
また、相関サブクエリの説明はなく、代わりにウィンドウ関数を使うことを勧めており、その解説に紙面を割いている点が第1版との大きな違いのようです。

パフォーマンスチューニングについての解説は少なく、そちらは著者の「SQL実践入門」に譲り
こちらの本ではピュアな言語としてのSQLに的を絞っています。
SQL全体が体系的に書かれているわけではありませんが、順に非常に読みやすい解説になっています。
ただ、業務で生かそうとなると、何度も読み返して初めて自分の引き出しにできそうです。

本書は2部構成になっており、後半の排中律の拒否とSQLの関係や
「データベースがデータを集めたものではなく、真の命題を集めたものである・・」というデイトの言葉の引用(これは1部で出てきますが)などは実に奥深く、「ラッセルの論理学」や「ファインマン物理学」などを引き合いに出すあたりに著者の博識を感じます。
SQLのリファレンス本ではないですが、読み物として面白く、これは著者が認めるように遠山啓著「無限と連続」に負っているようです。

最近はNonSQLの話題も豊富な中で、NonSQLはSQLほどのイノベーションではない、と断言するあたり
著者はSQLを正しく俯瞰していると思わせ、単なるすぐに使える表層のテクニックではなく
SQLとは何なのか、そのバックグラウンドを知るのに手軽に読める一冊だと思います。

2019年1月10日

ネタバレ
読書状況 読み終わった [2019年1月10日]
カテゴリ プログラム全般

アマゾンにも書いたので
初めに書いておくと、ある程度Go言語を知っていないと、この本は完読できません。
またこの本を完読してもGo言語でプログラミングはできません。
よくある初心者向けチュートリアル本ではなく、言うならばC++での「プログラミング言語 C++ 第3版」のボリュームの減ったGo言語版、と捉えることができるでしょう。

Go言語の言語仕様の哲学を学ぶことができ、その意味で非常に興味深い本です。
Go言語は流石最近の言語とあって、これまでのいろいろな言語の長所をふんだんに取り入れていることがこの本からわかります。
CやJavaだけでなく、SmalltalkやErlangなどとの比較は興味深いです。
また、なぜ
for i :=0;i < 10;i++{foo := a[i]}ではなく、for i,foo := range a[1:10]を使うべきなのかJavaとの比較も興味深いです。

文法とイディオムに重きを置いている本ですので、gofmtコマンドでソースファイルを整形してくれる、といったより実践的なことは一切書かれていません。
それでも言語仕様を楽しんだり、より深くGo言語を知ったりするうえで、有益な1冊です。

もう一つ付け加えておくと、日本語訳者は原書の内容にもいろいろ関わっているようです。とはいえ、日本語訳としてどうなんだろうか、そのまま英語から訳しただけではないかと思える、理解に苦労する文章も散在しています、ご参考まで。

2014年10月10日

読書状況 読み終わった [2014年10月10日]
カテゴリ プログラム全般

読書状況 読み終わった [2011年10月20日]
カテゴリ 情報科学
カテゴリ 計算量理論
カテゴリ 教養の物理

今更ながら、定番でがんばろ

カテゴリ 一夜漬けの英語

竹岡先生のいつもの熱意も伝わってくる
読んでて非常に面白い

読書状況 いま読んでる
カテゴリ 一夜漬けの英語
ツイートする