Archive from 9月, 2011
9月 2, 2011 -    No Comments

「ソフトウェア アーキテクトが知るべき97のこと」

Architect97.jpg
私は、こういったテーマの場合、最新の専門用語をちりばめて、難しそうなことを言っている文章は、ほぼ本質的なことは言っていない、と判断しています。残念ながら本書の多くも、その類でした。姉妹編の「プログラマが知るべき97のこと」はさらにその傾向が強かったです。成功したベンチャーの社長が、たまたま成功したノウハウを語っているみたいな印象を受けました。成功したのは結構、偶然の要素が強いと思うのです。その中にあっても、心にとめるべき言葉はありました。

「あなたのキャリアにとって何よりも大事なのは、 『前のプロジェクトでいい仕事をしてくれた』と思って、あなたを推薦してくれる顧客が山ほどいる状態です。流行りの言語やらパラダイムで、優れたオブジェクトを作ったなんてことよりも何十倍、何百倍も大事なことなのです。」ニティン・ボーワンカー

「設計チームがマッハ 2 から 2.5 というスピードが必要なのはなぜかと空軍に聞いたところ、答えは『戦闘から回避できるようにするため』でした。なんだ、そうだったのか。本当のニーズが明らかになったので、設計チームはその問題に取り組んで、技術的に実現可能な解決策を生み出すことができました。」アイナー・ランドル

「設計は発見的なプロセスです。実装を進めていくと、新しい情報を発見します。その多くは、あらかじめ知ることのできないものです。変化し続ける世界のもとでは設計は継続的で経験的なプロセスになることを受け入れなければなりません。」ピーター・ジラードモス

9月 2, 2011 -    No Comments

「プログラミング Scala」

ProgrammingScala.jpg
入門書かどうかは、迷うがJava経験者なら、問題なく読み進められる。丁寧な網羅的な解説。原著は2009年だが、翻訳は2011年。2.7ベースだが、訳注で2.8との差分を、懇切丁寧に解説している。翻訳は、初めの方は読みにくいが、中盤以降、殆ど気にならなくなる。残念なのは、期待していた関数型のプログラミングについての解説が、少なくて、脳の違う部分を刺激してくれるのでは、と思っていたのですが、結局はスタックの制限を受けて、手続き的な書き方との折衷にならざるをえないのには、心底がっかりした。大昔にLISPでプログラムを書いたときには、こんなせこいことはやらなかったような・・・。でも、この本の目的は、思想を伝えることではないので、プログラミングには必要十分だと思います。感心したのは、”Better Java”の部分でしょうか?それだけでも結構刺激的です。

それでは翻訳がまずい例を1つ。「DSLは迅速な機能変更と、気を散らす原因となる実装の詳細の隠蔽を促進します」「DSLを使うことで容易に機能を変更でき、また本質的ではない実装の詳細を隠蔽する効果を高めます。」素人にもこのくらいの日本語は書けます。