改訂版を読み終わったと思ったら、
何やら第3版が出ているそうで。
仕方なく読み返しました。

改訂版との大きな変更は、ARCに関する記述が追加されたことです。
ARCはメモリ管理に関する部分で、Objective-Cでのプログラムではメモリ管理は常に意識する必要があります。
で、今までの推奨だったガベージコレクタに代わってこれが最推奨になりました。
つまり、あちこちで推奨の書き方が変更になったのです。

その部分については、確かに全面的に記述が追加されたり、
また例のコードが書き直されており、
全面改訂というのはそんなに間違っていないかもしれません。

ただ、あくまでそれは追加であり、
ガベージコレクタの記述も推奨だったころと同じボリュームで残っており。
それを考えると全面改定はちょっと言い過ぎのような気もします。
全面的に加筆、くらいの扱いのような。

そのほかはおおむね改訂版と同じです。
新しく買うならこっちでしょうね。
.NET Frameworkの4.0では、並列処理用の様々なライブラリが追加されました。
その解説をした本です。

ページ数は200ページ以上ありますが、
実際のところは同じような例の繰り返しが多く、
気軽に読めます。

書くほうも楽なんじゃないかなあ、という気はしますが、
読むほうとしてはそんなに悪いわけではないと思います。

さまざまなレベルでの並列化ができるようになったライブラリの、昨日一つ一つについて、
並列化にまつわる基本的な問題点をいちいち解説してくれているわけです。
丁寧なのですらすら読めますが、そういう本は悪い本ではないでしょう。

ということで。
重量当たりの内容密度を考えなければ、
良い本といえます。
IBM Rational Team Concertというツールの使い方の説明を中心に、
スクラム開発のやり方を解説した本。

ツールを中心としてアジャイルを語るという時点で、
アジャイルソフトウェア開発宣言に真っ向から反しているような気もしますが。

当面始める時は、とりあえずアジャイル的な管理手法というものになれねばならず。
そのためのことを考えると、まずはアジャイル的な管理を強制してくれるツールの使用を前提に、
始めるというのも悪いことではないでしょう。
ソフトの指示に従っていけば、軽量な管理が可能となりますしね。
あとはそれを応用するという発想が出てくるかどうかが問題ですが。

ソフトの説明の前に出てくるスクラムの解説も、
短いながらもよくまとまっており、
あまり時間をかけてアジャイルを勉強することなく、
アジャイル開発を開始する場合には、案外良い本なのかもしれません。

そもそも現状で、簡単にアジャイル開発を開始、などということが可能かどうか、
という問題は残りますけどね。
アメリカで、プログラマーとして成功しているらしい著者が、
プログラマーとして成功するための生き方を解説した本。

純粋に技術的なおすすめはあまり書いてありません。
もっと抽象的な、生き方レベルの話が多いですね。
こういうレベルの話だと、プログラマーならずとも、技術者ならどんな技術者でも当てはまりそうです。

とはいっても、具体的な行動に結びつきやすいことが書いてあります。
一生一生について、今日からやってみることが最後に書かれていたりとか。
大変実践的な本でもありますね。

努力やら人への接し方やらキャリアパスやら、
そういう広範な方向から、より良いプログラマーになるには何が必要なのかが、
わかりやすく書かれています。

著者はプログラマーだけではなくサックス奏者としても成功しているらしく、
その辺を例に挙げて話しているため、
わかりやすくなっているようです。
サックス以外でも、いろんな分野のたとえが出てきています。
この辺も抽象的で、応用力がある説明になっていますね。

プログラマーのための本というわけではないかな。
成功する社会人になるための方法が、
わかりやすく書いてある本ともえますかね。

良い本です。
アサーティブ会話術とかに関する本は以前にも読んだことがありましたが、
開発者向けの本ということなので読んでみました。

人付き合いがうまくいかない場合、我慢ということを選んでしまいがちになりますが。

無限に我慢し続けられる状況ならそれもいいのですが、
実際にはなかなかそうも言っていられない。

10回に1回、我慢しきれずに声を荒げたりすると、
その1回だけが記憶に残ってしまったりするようです。
それだと我慢している意味がない。

消化できる分はともかく、
消化できないならちゃんと10回に分けて自己主張をしないといけない。

そういうことらしいですな。

自分も相手も尊敬されるべき尊厳のある人間であるということを前提に、
話を進める方法論について書いてあります。

この本は、やはり開発者向けだけあって、システマティックに書いてあるのでわかりやすいですね。

ただ、システマティックに書くとなると当然なのかもしれませんが、
権利というものを原則として話が進みます。

これはアメリカで生まれた方法論のようですが、
日本では権利というものが今一つ理解されないことがあるので。
その辺少し心配ではあるのですが。

とりあえず原理はわかりました。
まあ実践はなかなかうまくいかないものなのですけれどね。
読むのはすでに4回目。
そろそろ本格的にRubyを覚えようと、短期間で読み返してます。

で、記録なので書いてますがさすがに書くことが無くなってきてますね。
細かい文法を覚えることができる本があるのは大変便利なものです。
Objective-Cの解説本。
詳解とあるだけあって、文法の細部からCocoaなどのライブラリまで、
懇切丁寧に説明してあります。

Cから進んできた人のためか、オブジェクト指向の説明もしっかりしてありますね。
いや、ほかのオブジェクト指向とは概念が少し違っているせいかもしれませんが。

文法は多少読みにくいところはあるものの、メッセージメタファーがきっちり生き残っている形になっています。
とはいえ基本的に関数の呼び出しであることはC++とかと同じなのですがね。
単なるメタファーのようです。

引数名をいちいち書かねばならない点も大きな特徴ですね。
IDEのサポートがあればそれほどの手間にはならない上に、
可読性を大幅に上げているようです。
まあ日本人にはそれほど効果は挙げないようですが。

APIは全般的によく考えられた便利なものがそろっていますね。
デザインパターンをはぐくんだSmalltalkからの影響なのでしょうか。
それともアップル独自の利便性追求の結果なのでしょうか。
その辺はよくわかりませんが。

ともあれ、その辺のことがきっちり説明された、
完成された本と言えますね。
Objective-CでもCocoaでもなく、Xcode4の解説を丸一冊書いた本。
こういう本は珍しいので、知らずに買うとびっくりします。

言語やAPIとは違って、IDEはGUIで何となく動くので、
あえて解説書が出されることは少ないようですが。

同じアプリケーションでもExcelとかとは違って、
ある程度コンピュータに触り慣れた人しか使わないものですからね。
本なんか読まなくてもなんとかなると思うのでしょう。

しかし、昨今のIDEの重要性は、言語やAPIに劣るものではありません。
言語やAPIとは違って、何となく使えば使えてしまうというのも確かですが、
その分実は使いこなせてない機能とか知らない機能も多かったりする。
リファレンスはありますがあまりわかりやすくまとまってませんし、探しにくい。
書籍があると便利ですよね。
こういうのがあると、一歩進んだ開発ができるでしょう。

特にXcode4は英語版しかないので、あてずっぽうが比較的やりにくいですしね。

Visual Studioにもこんな本だしてくれませんかねえ。
できればこの3倍くらいの厚さのを。
ThoughtWorksでアジャイルコーチも務めたという著者が、アジャイルの考え方を解説した本。
極めてわかりやすく、すばらしいです。

300ページ程度の量で、
細かいことが書いてあるわけではありませんが、
実際にアジャイルを推進していくときにはどうしていけばよいかが、
わかりやすい絵や言葉で書かれています。
翻訳文もちゃんと砕けていてよいですね。

障害を取り除く工夫は遠慮なくどれだけでもやる、というアジャイルを解説した本なのですから、
堅苦しい文章で無駄に読みにくくしてある本になっていては、言動不一致というものです。
アジャイルの本はこうでなくては。

途中に何回も出てくる、
アジャイルの弟子と師匠の会話が、
実際に困ったときにどういう思考をすればよいかをわかりやすく説明しています。

どうすればよいかじゃなくて、
どういう思考をすればよいか、です。

少なくとも今のところ、アジャイルは決まったルール通りにやればうまくいく、
というものではないようです。
必ず問題は起きる。
書いてある通りにやっても自分のところとは合わないことは必ずある。
それをどう工夫して解決していくかも、アジャイルには大切なことです。
その辺が非常にうまく書かれている本ですね。

また、著者の実際の失敗談、
たとえば君のチームはもう来なくていいとか元請けに言われたとか、
そういう体験がコラムとして書かれているのもよいですね。

うまくいく方法だけ書いてある本が多いですが、
それでは理想論になってしまいます。
少なくともアジャイルは理想論だけ見て勉強してうまくいくものではないようです。

細かい方法論については、そんなには書いてありません。
特にプログラミング技術については、最後の1/4程度しか書いてありません。
その辺は、より分厚い丁寧な本を読んでくれ、ということですね。
この本を読んで実行に移して、ある程度勘所を身に着けた後で。

などなど。
大変に素晴らしい本です。
プロセッサの開発経験も長い著者が書いた、
プロセッサの技術についての本。

プロセッサを開発する人はソフトウェアの開発者よりかなり少ないでしょうし、
実際にこの本で読んだことを役立てられる人がどれだけいるかという気もしますが。

著者としては、
ソフトウェア開発者も読んで効率の良いプログラムを書いてほしいようでした。
しかし、効率は保守拡張性とトレードオフになりますし。
特に中間言語を使うような言語だと、マシン語を意識することも難しく。
あんまりここに書いてあることをプログラマーが意識することはやめてほしいところではあります。

まあそういう実用的面を除けば、
高性能なCPUやGPUはパソコンを扱う人にとっては興味深い分野であり。
しかも、クロック競争が終わって数年、プロセッサの良しあしの判断が難しくなっていることもあり。
大変興味深く読むことができました。

x86アーキテクチャが出て以来30年ばかり。
32ビット化やSSEなど多少の拡張はあるものの互換性を保ったままで、
非常にさまざまな工夫がなされているのですねえ。

クロック単位で性能を上げる必要があるので、
物理的な時間の制約を常に意識し、
ハードウェアとしての配線やらも意識しつつ、
これだけの工夫を考え続けてきたとは。
プロセッサ開発技術者の方には大変頭が下がります。

また、GPGPUやスマートフォン向けCPUなど、
今後の流れを予測させる解説もあり。
この辺は実用的にも知っておくべきことでしょう。

などなど。
大変面白い本でした。