著作一覧 |
10月1日は初台。
冒頭のオーケストラが輝かしい。読売。
グンターとグートルーネ(白い男装)がソファの上で怪しく戯れている。ジークムントとジークリンデごっこをしているのか、それとも別の何かなのか。
ちょっと佐藤史生と徳川メイのSFにこんなのがあったなと思い出す。宇宙の果ての禁じられた生物に恋した青年が秘密裏に持ち帰って、最終的に自分自身とする恋愛SFだった。
この演出のグートルーネは妙に目立つ。3幕のブリュンヒルデがラインへ向かうところを目撃したところの歌が実に印象的だ。歌手も良いのだった。
歌手といえば、フンディングに続いての出演となるハーゲンがまた良い。
もちろんヴァルトラウテのヴァルトラウテも良い。
葬送行進曲が遅い。遅すぎると思ったら、ドンドンのパートが終わったあたりからどんどん速度が増していって抜群。飯守いいなぁ。
皇太子が2階最前列に観に来ていたので、こんな機会はめったにないのでご尊顔でもと思ったが、2階の真下の席なので結局拝めずじまいだったのが残念だった。
長らく絶版となっていたケントベックのテスト駆動開発(入門)が、オーム社から装いと訳者もあらたに再刊されて、しかも嬉しいことに、編集の森田さんから頂けたので早速紹介する。
くだくだしいことなどは後のほうで書くことにして(このページ群はおれにとってはその時考えたことなどを記す日記でもあるからだ)、まず本書の要点について書く。
原著は2003年、本書はそれの翻訳なので15年以上の歳月を経た準古典だ。何についての準古典かといえば、題名からわかるように開発についてで、なんの開発かと言えばプログラムだ。
一言で言えば、1人でプログラムを開発するときに、どのように開発へのモチベーションを維持しながら、開発そのものをゲーム化して楽しみながら(まあ、1人でプログラムを開発しようとした時点で、それはゲームなのだが、さらにルールをいくつか導入することでゲーム性を高めているとも言える)、しかも適切な粒度やインターフェイスを発見してプログラムのコードの質を高めながら、完成してからのデバッグ地獄に苦しむより前にバグを減らしながら、1つの関数や変数のレベルで(大げさではない)命名であったりパラメータであったり戻り値であったり大域変数などの状態であったりをどう設計するのが良いかの知見を高めながら、グレートなコードを生み出すかについての方法論とプラクティスを説明したものだ。
全然一言ではなくなってしまった。
本当に一言で書けば、こうだ。
いかにかっこいいコードを生み出すかについての方法と実践の指南書。(入門書ではないね)
命令型言語であれば、すべてに適用できる開発方法なので、サンプルもJavaありPythonありだ。わりとミクロレベルのテクニックが多いので、JavaもPythonも読めなくても問題ない。ふつうに命令型言語のどれか1つを知っていれば、自分のジャンルに翻案できる(くらいの芸当ができるのは読者としての前提となる)。
本書で重要なのは、準古典なだけに、どこまで価値を持つ本なのか、一体、どれだけポジティブ方向であれば発展や革新が、ネガティブ方向であれば誤解や曲解が生まれたかについて、歴史的な俯瞰を訳者の和田さんんが付録Cとして10ページほどの『訳者解説:テスト駆動開発の現在』を付けている点だ。
これ読めば、あっというまに、テスト駆動開発(TDD)批評家になれる。つまり、TDDという手法はこの文章の冒頭で準古典と決めつけたように、既にして批評の対象足り得るほどの広がりを持つ存在となった。つまり周縁を持つ(=パラダイムが形成された)存在であり、TDDを知らずにプログラムを開発するのはド素人だ。
要するに、読めということ。それも手を使って、エディターに打ち込み、追体験しながらだ。
(t_wadaの上記の訳者解説では、いや、そこまではしねぇだろうというような極端な読み方を勧めているが、なぜそこまで極端なんだろう? と考えて、はっと、そうかTDDの実インスタンスとしてのテストファーストはXP(eXtreaming programming ――極端プログラミング)のプラクティスでもあったなぁと気づいたり。今この瞬間の思いつきに過ぎないが)
ちなみに、artonx.orgには訳者解説にロンドン学派の代表みたいに出てくるフリーマンの初期の文書(DevelopingJdbcApplicatonsTestFirstのおれさま翻訳)があったりするのでこちらはあまりにレガシー化しているけど興味があれば読んでみてね。
#t_wadaのまさーるさんへの言及には泣けるところがある。
ポールグレアムとかジョエルスポルスキーとかチャドファウラーとか、その時点で息して飯食って多分プログラムを書いている人(少なくともその本が出る5年くらい前までは)のソフトウェア開発にまつわる思い出やら見識やら考察やら実験結果やらのエッセーがやたらと出てきた時代があった。どれもどえらくおもしろく、訳も飛び切り良く、選択のセンスが良い(と、読者に感じさせるわけだから、ぴったりトレンドそのものかちょっと先っぽだったということだ)。
そういう一群の書籍にふさわしい名称を「叢書」と呼び、そのトレンド性をして同時代性と読み替えて、何気なくオーム社の同時代ソフトウェア技術者叢書と名付けたのだった。
11年前か。10年一昔のさらに1年がたったのだなぁ。
Javaにはかってカンブリア期があって、あまりのSunの迷走っぷり(あるいはIBMの横やりっぷりかも知れない)に爆発が起きた。
で、おれもその爆発に少し巻き込まれて2.3mほど吹き飛ばされたのだった。
日本での爆発の中心にいたのが、ひがやすおさんと羽生章洋さんで、媒体としては中心にWEB+DBがあって(今でも常に爆発の中心にいるところが稲尾さんのすごさだ)、t_wadaさんとはそのころ出会った(というか、羽生さんのところだった)。上のほうでフリーマンの翻訳があるが、あれは確かt_wadaにそそのかされて翻訳したはずだ。
ということは、2003~4年くらいだな。
ロッドジョンソンのExpert One-on-One J2EE Design and Develpmentが2002年10月だから、爆風は半年もたたずに日本にも吹き荒れたってわけだ(21世紀のはじめは、半年で爆風が吹き荒れるというのにずいぶんとスピード感があるなと思ったが、今は一瞬で爆風が届く。ネットワーク技術の発展はすげぇなぁ)。
この爆発で、バイナリーORPCが死んでXML+HTTP時代が来たわけだが(動きが遅いのはエンタープライズ系だからだな)、それもあっという間に淘汰されてしまったなぁ。
2016年3月に買ったまま忘れていた(その間にKindlePWを買いなおしたからだな)エンジェルメイカーをなんだこれは? と読み進めるうちに読了。大いに物語を堪能しまくった。
時代は2008年くらい、舞台はロンドン。ギャング(文字通り)の親父、実直な機械修理師(ネジとゼンマイと歯車でできたカラクリ仕掛けの骨とう品を直す)の祖父を持つ主人公は30半ばの機械修理師で平凡であろうと心がけて実直に生きている。
が、妙なものの修理を依頼されたことが原因で、政府や謎の組織や謎の個人からつけ狙われて、親友を惨殺されて、逃げ回る。唯一の味方は親父が用意しておいてくれた幼馴染の弁護士と謎の女傑の兄妹だ。
という物語と、主人公にからんでくる謎の90代の婆さんの若き頃(1939年頃)の世界を股にかけた悪の組織の親分との闘いの物語が交互に進む。この婆さんの(腰が痛いの関節がきしむだのの文句が多い現代の闘争する逃走劇もおもしろいが)若かりし頃の大冒険が抜群におもしろい。
2つの物語をつなぐのが、主人公の祖母であり、婆さんの恋人である、流浪の民の天才科学者の発明品(精巧な機械仕掛けなので当然製作は主人公の祖父)となり、唐突にヴィシー政権下のフランス国民に対する告発が入ったり、ロンドンの地下水道に住む謎の潜水民が登場したり、にぎやかだ。
なかなか読み終わらない(それはむしろ良いことなのだが)と思ったら、実際の本だと540ページほどあるのだから、大長編であった。
舞台が現代だからハヤカワミステリに分類されてしまったのだろうが、これはギア(またはスプリング)パンク(文字通りなスチームでパンキーな道具立ても疾走しまくる)とでも言うべきジャンルのSF(スチームオペラ?)だった。
const int x = 8; printf("x=%i\n", x); // => 8 // x = 9; //=> error: read-only variable is not assignable int *p = (int*)&x; *p = 32; printf("x=%i\n", x); // => 8 WHY?! printf("x=%i\n", *p); // => 32 printf("p=%p, &x=%p\n", p, &x); // => p=0x7fffdcd666bc, nm=0x7fffdcd666bc
コンパイルエラーにはならないし、実行もできる。pと&xは同じアドレスをポイントしている。しかし、xと、*pは異なる値を出す。
おそらく、printf("x=%i\n", x);
は即値を使うコードを生成しているのではなかろうか(-Sして確かめれば良いが面倒だな)。
と思いながら-Sしてみたらびっくり。
printf("x=%i\n", 8); printf("x=%i\n", 32);
が生成されていた。-Oなんか付けてないのになぁ。
HP Spectre x360の充電器が買って4か月くらいたったところで、全然使い物にならなくなってしまって、憤然としてしまった。充電しているつもりでも全然電流が流れない(骨折を折ったみたいだが、電気が流れるでもなければ、電が流れるでもなく、やはり電流が流れるで良いのだとは思う)。
ぶっといUSB-Cのケーブルが直接充電器から生えている(つまりケーブルだけ交換というわけにはいかない。Surfaceを見習って欲しいところだ)、まったく汎用性がないだけならまだいいが、固いくせにUSB-Cなので接続口から直角に伸びるくせに、右側にしかついていなくて(USBコネクタは両側に付けて欲しいものだが、なぜか左はUSB-Aだけなわけだ)、ちょっと机の上に置いておいておいて角度がついたところで断線してしまったらしい。
で、修理を申し込んで、修理もへったくれもないから新品の充電器に交換されて返ってきたが、どう考えても、置き場所から同じことになりそうだし、2度あることは3度あるし、そのうち保証期間も過ぎるだろうし、どう考えてもばかばかしい。
で、片方がTYPE-CのUSBケーブルを買ってきて、家にあるいろいろなUSB充電器に差し込んでも、こんな弱いのではだめだというエラーメッセージが表示されて使えない。どうも、USB-C PDという規格のやつでなければならないらしい。確かに充電器には5V3A, 9V3A, 15V2A, 20V1.5Aとか書いてあって、ふつうのやつは5V1.5Aとかだから力不足なのは間違いなさそうだ。
ならば、USB-C PDの充電器を購入して、それを使うしかないのではなかろうか。で、買うことに決めた(いずれにしても、2箇所、充電できる場所があるほうが便利なのだ)。
が、USB-C PDの充電器というのはあまり種類がない。アマゾンの評を見ても、安いのはだめだというようなことばかり書いてあるし、高いのは高い。
というわけで、結局、Ankerの4000円のを購入した。
それでも3000円超えの商品で、規格が合わなかったら痛いなぁとか、少しはびびった。(が、以前買ったAnkerのモバイルバッテリーはまともだったから、一応、おれにとっては信頼のブランドなので当たるも八卦という気分よりはましではあった)
で、ちゃんと充電ランプがついて充電できるので一安心したが、差し込むと、「HP純正のを使え」というメッセージが表示されるのは気分が悪い。
だったら、ケーブルは交換できるようなタイプの充電器を付属しろと思うわけだった。
でも、思うに、USBーAでふつうに充電できるSurface3にしても、USB-C PDという規格であれば文句はたれても充電できるHP Sprctre x360にしても、一昔前のプロプラ充電器(+-逆のやつがあって、混ぜて使っているとやばかったりとか)だけだった世界に比べて格段に民主化されたなぁと世の中の中道化を祝福するのであった。
_ くまちゃん [旅先で困ってこちらに辿り着きました。普段スマホ用に使っている充電器では充電できてなかったみたいで、音楽聞きながら寝て..]
かかりつけの医者の本棚を見ると、医学書とか論文集とかに紛れて、なかなか社会的な問題にも興味があるのか、そのタイプの本も並んでいる。
ならば、もう読まないし、おそらく興味あるだろうからと、先日手土産にジョックの排除型社会を持って行ってプレゼントした。
排除型社会―後期近代における犯罪・雇用・差異(ジョック ヤング)
「排除」という強力なキーワードを無法図に言い放つ政治家が出現する前のことだ。もちろん、排除型社会というのはサッチャーが作り出したイギリスのことで、おかげでケンローチは創作意欲が旺盛になったのかがんがん映画を作るし、ビリーエリオットのような作品は生まれるしで、他国の鑑賞者にとってはネガティブな面ばかりではないが、それにしてもサッチャーみたいな首相が生まれる目が事前につぶれたのは悪いことではない。
すると、医者は「そういえば先日はサピエンスを読んだが、これもおもしろかったよ」とか言うので、では読んでみるかとKindleで何気なく合本というのを買って読んだ。通勤の往復で3週間か4週間かかかった。
読み始めると、ホモの中のサピエンスが、他のホモを殲滅(おそらく)しながら地上に君臨する現代までの歴史をかいつまんで(といっても数100万年単位だから分厚くなる道理だ)解説した本だった。
何度か転機があり、1つ目は想像力による超集団化能力の獲得で、それによって数人とか家族とかといった単位ではなく100、1000、数10万という単位で行動できるようになったことで、結果として農業という革命を起こし、帝国、資本主義、科学の三位一体を経て現在に至るということであった。
ダイアモンドの銃・病原菌・鉄や、ドーキンスの利己的な遺伝子まで目配せが効いている。帝国はネグリかな(これは読んでいないのでわからない)。
遺伝子の勝利という意味では、牛と鶏は人間のおかげで圧倒的な数で地上に満ちているが、果たしてそれで彼らは幸福なのか? という問いから、仏教の考え(幸福とは幸福であることではなく――幸福であれば幸福である状態に執着せざるを得ず、執着こそが不幸の根源であるからだ)を相当な量で解説したりしているが、さすがに21世紀なのでニューエイジのくそみたいな東洋かぶれからは30歩くらい離れたところで語っているのには好感が持てた。
それ以上におもしろい! と思ったのは、農業は狩猟よりも遥かに劣った食べ物を、遥かに劣悪な農作業という苦行によって営む最悪の選択だったわけだが(個人の幸福という観点からは)、種としてのホモサピエンスにとっては最高の選択だったというような観点からの説明だった。この苦行を集団でおこなうためには、想像力による意思統一が必要であり、それが神話や愛国心や道徳だというのはおもしろい。
そういった想像力の産物で最も重要なものが貨幣だという指摘は、現時点ではビットコインのような国家(権威、つまりまさにサピエンス共通の想像の産物)フリーな貨幣が登場してきたことで、さらにおもしろさを増している。
高度に発達しつつある資本主義において、なぜ工場労働者は苦行にあえいでいるのか? という疑問から解放の理論を作ったのはマルクスで、そこから下部構造が上部構造を規定するという唯物史観が誕生するわけで、この考えは相当な正当性があるとは考えられるわけだが、1960年代になって、さらに高度に発展したときに(それこそトリクルダウンがあったわけだが、まあ50年たつとピケティによってそれはたぶらかされているだけだ、と数的に示されてしまうことになるのだが)、なぜ革命を目指すのか? というのが新左翼の出発点となったとおれは考える(50年たった今の目で見れば、そもそもまず革命ありきの時点で価値観が転倒しているのだが、そこは不問とした場合)。
そこで問題となったのは、疎外の克服だった。マルクスが言う疎外というのは生産物を作り出すインフラが資本家に所有されていることによって、生産者(つまり労働者)自身が自身の生産物から疎外されているという経済現象のはずだったのだが、そこに哲学的な意味がついたのだ。
そこでいろいろな人たちが疎外について考えた時に、下部構造/上部構造という単純な図式はおかしくて、そもそも国家が成立しているのは共同幻想ではないか、と喝破したのが吉本隆明だった。
これはどちらかというと、アナーキズムの論理を支援するものだと考えられるのだが、あまりそういうふうには広まらず、もっぱら自立した個人の確立というなんか青春ドラマ的な展開を見せることになって、それはそれで後から読んだおれにはおもしろかった。
(というわけで共同幻想論の文化的な結実として共犯幻想があるのではないかとか)
で、本書ではそういった考察の果てに仏教が出てくるところが、なんとなくだが、バロン吉本の作品遍歴のようでもあり、ちょうど半年くらい前にテレビで見ておもしろいなぁと思った唯摩教とシンクロしたりして、実におもしろい読書体験を持てた。
サピエンス全史 上下合本版 文明の構造と人類の幸福(ユヴァル・ノア・ハラリ)
さらに、先日、ちょっとFBでやり取りしたのだが、今後は生身のオリンピックよりも、パラリンピックのほうがおもしろくなるだろうという予見とかともからんでくる。
オリンピックはドーピングが禁止されているわけだがそんなストイックなものよりも、治療のためにドーピングしまくってジャックハンマーみたいになった障害者や、欠落した器官を補うためにサイボーグ化した超人の祭典のほうが遥かに人類の可能性(単に肉体と精神の力に頼るオリンピックと違って、パラリンピックは医学、生物学、機械工学、分子工学、薬学(化学)などなどのあらゆる科学が投入される分野となるわけだから)になる可能性が高いからだ。(すでに義足ですごい選手が出現したのは記憶に新しい)
行けるところまで行ったら地球がハンマーだか拳だかで粉々になっても別に構わないが、その時を見届けてはみたいものだ。
#サピエンスで、実にああそうか、と目から鱗だったのは、科学は知らないということを知るところが出発点で、それは神とは相いれない。なぜなら神は全知だから人間は神の教えに従えば良いわけですへてはバイブルにあり、そこに無いことを考えるのは不信心で火炙りという宗教と相いれるわけがない、という指摘だった。全知ではないからこそ(しかし想像力を持つゆえに)人間は実におもしろい。
ジェズイットを見習え |
_ shiro [trivialな定数伝搬は無条件でやっちゃうわけですね。後のパスでさらに定数を畳み込むのに早いうちにやっときたいとい..]
_ arton [ああ、なるほど。C11の6.7.3.6のここかな。 If an attempt is made to modify ..]
_ arton [それにしても、高級アセンブラの面影は全然ないな……]