« 2010年9月5日

2010年10月1日の投稿

2010年10月5日 »

"Software Engineering Radio" という PodCast の Kent Beck のインタビューがとても面白かったので、要点を日本語訳したい。

http://www.se-radio.net/2010/09/episode-167-the-history-of-junit-and-the-future-of-testing-with-kent-beck/

1時間くらいのインタビューなので、一人で全部やるのは辛い。。。と思い、リレー形式でこれを訳するプロジェクトを @urimaro さんと(勝手に)立ち上げました!参加したい人は、ぼくか@urimaroさんがこの PodCast を訳したブログや日記に、参加意思表明のコメントをください。基本、先着でまわしたいと思います。

ではここから。正確に訳しているのではなくて、ポイントを日本語にしていきたいと思います。インタビューのホストは、Martin Lippert さんです。

Martin: まずご自身のことを少し話してもらえませんか?

Kent: ぼくは第三世代ギークなんだ。祖父がラジオギーク、父が電子工学ギーク、そしてぼくが、プログラマーギーク。そんなわけで、環境的には技術に触れる機会が多く育った。12歳のときにプログラムを始めた、兄のプログラマブル電卓で。

いくつかぼくがやったことを紹介すると、ソフトウェアパターン、エクストリーム・プログラミング、テスト駆動開発、xUnit。xUnitでは、Smalltalkで実装されたアーキテクチャをErick Gamma と一緒にJavaに翻訳した。それから、Responsive Desing、他に何か興味を持ってくれることがあるかな?

Martin: たくさんの本を書いていますね。コミュニティに影響を与えています。

Kent: これまでに8冊書いた。

Martin: コミュニティーでは有名ですよね。

Kent: そうだね、ギークにはね。(笑

Martin: twitter で Softtware Engineering Radio を聞いていると言っていましたがホント?

Kent: うん。ぼくは南オレゴンのど田舎の小さな町の横の小さな村、8ヘクタールの牧草地と森林の中に住んでいる。だから、農家の仕事が多い。そこで牛にえさをやりながら、たくさんのポッドキャストを聞いていて、Software Engineering Radio もその1つで、おそらく全エピソードを聞いたと思う。

Martin: ありがとう。JUnit の歴史について話してもらえませんか?

Kent: ぼくの職業プログラマとしての最初は、Smalltalkだった。Smalltakはテスティングの習慣がある。ちょっとプログラムを変更したら、ちょっと動かしてみる。というインクリメンタルなサイクルを回す。でも、それは自動化されていなかった。以前コンサルタントとして開発プロジェクトに助言を求められたときに、自動テストを書いてみるようにすすめたかったが、やり方がなかった。Smalltak でやっていることの構造を、そのままオブジェクトモデルにそのまま実装したらどうなるか考えた。Workspaceがクラスで、変数がインスタンス変数、テストしたいコード片がメソッド。これは、ナイーブなマッピングだ。そこで、マニュアルでテスティングしている部分、すなわち、プリントアウトして期待される結果と比較することを、「じゃあ、ここはコンピュータにやってもらおう」と考えた。これが、assertionの原型。ここまでが、アーキテクチャの起源だ。いつごろだったかな、うーん、1992かな。これが最初のユニットテストのフレームワーク。

数年後、スイスにいたときにErich Gammaといっしょにときどきプログラミングしていた。Javaはそのとき新しい言語だった。この言語の学習をかねて。OOPSLAでぼくはこのテスティングアーキテクチャについて話をしたのを彼が聞き、彼がJavaの話をしてたのをぼくが聞いて、一緒に座って最初のJUnitを一緒に書きはじめた。テストファーストでね。これはおもしろいブートストラップ問題だ。テスティングフレームワークをテストファーストで書くというチャレンジだ。

最初に出来たバージョンは、とっても小さい。そう、JUnitはとっても小さい。こんなものに価値があるのだろうか?これをアトランタのMartin Folwerに送った。すぐに彼はためしてみて、"This is Cool!"という感想をくれた。そこで何人かに送ったが、いいフィードバックがもらえた。こんな具合に、JUnitはスタートしたんだ。

Martin: Wow! そこから何が起こった?

Kent: これが、、、1997年。最初のバージョン。今ではバージョン4になって、その間に大きなアーキテクチャ変更が起こった。サブクラスからアノテーションへ。別な言葉でいうと、「フレームワークのメタファー」から「DSLのメタファー」へ。サブクラスを作ってメソッドをオーバーロードするという「フレームワークのメタファー」から、Javaだと"アノテーション"を使うという「DSLのメタファー」へと移行した。NUnitの初期を、James Newkirk のマシンで、まだ数ファイルだったが、見た。そこで、アノテーションを使っていたんだ。そこで、「おー、これはクールなアイディアだ!」となった。それまでtestでテストメソッドを始めることが約束で、これは、メタデータの一種だといえる。この部分をフレームワークが解釈している。JUnitは言語であり、Java言語とは違ったセマンティクスを持っている。継承は違う意味を持つ。ぼくらはこのJUnit言語ともいうべきものを、Java言語上に構築して、それをJUnitフレームワークが解釈して実行している。でも、アノテーションを使えば、コンパイラーがさらにうまく助けてくれる。例えば誰かが間違って、testでなくtsetからテストメソッドを始めると、それは動かない。でも、それが間違いであることに気づかない。でもアノテーションを使えば正しく書いているか、をコンパイラーが支援できる。

Martine: 他の言語でも、xUnit の実装はたくさんありますね。。。。

はい、ここまで。。。。。以下、@urimaro さんにバトンをお渡しします。PodCastの音声の経過時間は、8:46 です。つづきはこちら。→

(※10/5 追記 @urimaro さんが、続きを訳してくれました。
※ 10/13 追記 @friedgristle さんが、その続きを訳してくれました。)

平鍋

« 2010年9月5日

2010年10月1日の投稿

2010年10月5日 »

» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

平鍋 健児

平鍋 健児

株式会社チェンジビジョン代表取締役社長、永和システムマネジメント副社長。
オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。

詳しいプロフィール

Special

- PR -
最近のトラックバック
カレンダー
2013年4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
hiranabe
Special オルタナトーク

仕事が嫌になった時、どう立ち直ったのですか?

カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ