自分のフィールド呼ぶときどれで呼ぶ?関数的メソッドの呼び出し時にはカッコを省略しないようにしようあまり同意できない(「あまり」がつくのは、100%じゃないから。いうか、僕はなんにしても100%ってのは好きではない)。設定されてるインスタンス変数まで、関数的メソッドのように呼んでたりするからブチ切れそうになる。アットマーク一つすら書くの面倒かよ。面倒かどうかではなく、常にフックを入れることを念頭におけばそういうコードになるはずだ。メンテナンスフェーズ以降(つまり話が逆なのだ)。以下、Javaで示す。いった方法については、言語は選ばないと思うので、JavaはそうかもしれないけどRubyは違うということはないと僕は考えている。}}と書いているということと読める。書いているうちに思ったので、C#に変えてみたり。}}なぜ、メソッド呼び出しのオーバーヘッドがあるにも関わらず自インスタンスのフィールドのアクセスにもアクセサを経由すべきなのだろうか?それはメンテナンスフェーズにおいて、以下の状況が常にあるからだ。(逆になさそうだったり、モジュールの入れ替えとかになんの障壁もなければどうでも良いといえば良い。いえ、入れ替えって結構神経質にならざるを得ないから、修正は少なくすませたい)状況)時々エラーになって異常終了とか、ログ吐いて死んだりする。開発環境ではまったく再現せず、資料採取も現場状況から頼み辛い。結局、こういう場合、実機に仕込むことになる(のが許容される場合については、だけど)。多くの場合、予想もつかないステートに陥っていたり、予想もつかない入力があったりすることが原因で、それをどこぞのルーチンが掴んで問題となるのだ。したがって、入出力の監視が重要。endと修正したモジュールを実機に送り込む。ログを吐く分、若干効率は落ちるが、ロジックそのものには影響がないことが、diffによって明白(差分がアクセサだけであることがだれの目にも明らか)な、特別版である。これが、直接フィールドをいじくっているとさあ大変だ。すべてがすべてアクセサを利用するわけではない。いつか誰かのソースで問題が起きたり、忘れた頃の自分のソースに問題が起きたときのために、ここぞというフィールドについてはアクセサを利用する。僕はアクセサを使うなぁ。(と同時にアクセサ原理主義は大嫌いなので、基本はパッケージプライベートで、privateは基本的に利用しないのでもある。スコープの広さとか、クラスのサイズとかに依存してそのへんはいろいろ)追記:簡潔さと柔軟さ。sumimさんのコメント。上のコードからも垣間見えるけど、言語によって簡潔さが十分にサポートされるようになってきたため(フィールドの直接アクセスと見た目が変わらないC#(3.0だとフィールドの記述そのものが不要化される)、直接アクセスよりさらに手数が少ないRuby)、柔軟さの勝利かと思いきや、新たな論点が生まれてきたようで興味深いという話。やって論点が必ずでてきて、その摩擦熱で少しばかり前進するってのが人間のおもしろいところ。(根っこは同じじゃないと思うな。マクロはユーザー定義なので記述した人固有の知識。デスノート見たなんとびっくり、眼の下にクマがあって、姿勢が悪いやつが正義側だったのか。あっちが悪役だと思ってたよ(画しか見たことなかったし)。おれ、あいつ好きだな。規約重要で、結局、バランスといっても人それぞれ、読みやすい/にくいも人それぞれ(だって、出身言語で(x,y,z)と書いてあるとタプルだと思っちゃう人だと、メソッド呼び出しに()が付いていると読みにくいかも知れないよ)なので、結局、あるソフトウェアシステムを構成しているソースについては統一を取っておいて、それに慣れようぜ、とやるしかないのかも。)(と、さっそく援用したり)、万能魔人村章風(風の吹くまま気の向くまま)とかいろいろあるのでさあ大変だったりするのだが。#突如思い出したnobsun語録。「だってRubyのメソッドの引数はタプルだから」......ってことは()を付ける派か。いうわけで、「午年」(と実際に手書きの漢字でタイトルが出てくる)。ジャームッシュとのコラボレーションというより、バビロン出身のストレンジャーな映画監督に孤高のロックンロール野郎が漢を叩き込むストーリーとも言える。途中にはさまるニールヤングの息子が書いた絵が映画になるシーケンスとか(絵で描いた汽車が動き出すんだけど、汽車と映画の歴史にまた1ページと言っても良い美しさ)。インタビューが強烈で、田舎のオヤジが集団で、都会出身のオシャレな若造(じゃないんだけど、年齢差があるのでそう見える)に、おめぇのようなチャラい業界の小僧にはわかんねぇだろうが、いっちょ教えてやるからよく聞けよ、みたいな感じで、それをあのくそ生意気そうなジャームッシュが神妙に拝聴しているのがいい感じ。[DVD](突然わかったというか、別のほうのにちゃんと書いてあるのに気付かなかった。IronRubyがRubyForgeにIronRubyということのようです。[あと、登場人物が多彩で背景がしっかりしているから、ダイジェストだと辛いのかも知れませんね。妙な生き物だけど、こいつらがいない世界というのは味気ないだろうな。「呼出し元の共通化」という言い回しあ、そういう発想(言い方、説明の仕方)はなかったが、確かに筋が通っている。僕の目はネコの目、暗い夜道にきらりと光る僕の目はナマコの目、じっと空を見上げてる......僕のマナコはナマコのマナコ、駒の独楽が狛に困。......全然違った(10年振りくらいにiTunesから流れてきた)。月からはるばる地球にやってきたとして、アリゾナやサンディエゴあたりの砂漠を眺めて、郷愁を感じたりすることはあるのだろうか?10代の頃(今でもそうだが)、中央高速を新宿へ向けて走ってきて、京王プラザが見えてくると(水道どおりのガスタンクあたりから)、ああ、戻ってきて嬉しいな、と感じたり、あるいは246をずっと上ってきて赤坂見附のところで(実際には金王神社を上ったあたりで、やっと帰ってこれたぜ、みたいに感じたわけだが、人によっては、向こうに山、(多分畑があって)その手前に民家、その手前に道路っていうような風景にほっとしたりするのだろうか。[DVD]ここまで勧められて無視するのは無理だよなぁ。[DVD](安田朗/菱沼義仁/富野由悠季/矢立肇/菅野ようこ)特に劇場版(つまるところはダイジェストであり、テレビ風にいうと総集編ってやつ)だから目立つのだが、映像作品に向いたものと、文字作品に向いたものがあるとして、こういう作品は別の表現方法に向いてるんじゃないかと思った。その表現方法(メディア)が何かはわからないが。---以下風呂敷がたためなくなったのでメモだけ文字作品のよいところは、その不連続性にある。ある特定の単語、言い回し、描写、会話が気に入ったとする。そこで本を置き、いくらでも反芻して、敷衍させたり、想像したりできる。それをうんと利用しようと考えればコルサコフやバラードもそうか、マラルメも、構造を一度ばらばらにして、再配置できる。ところが、映像作品の場合は、そうではない。少なくても純粋音楽の場合、もともと普通の人間には縦軸を完全に分離できないことから、また少し異なるように思う。構造を完全に把握するには、スコアの読解が必ず必要となるので、演奏はスコアのプロトタイプとしての意味しかなくなるからだ)おお、良いシーン、と思って、そこでちゃかちゃかまきもどして見直したり、ポーズしたりというようなメタな見方が可能なのは、2回目以降ではないだろうか。劇場で1度見ることを前提としているので(ただし演劇と異なり、同時に複数個所で上映するという、多重性は考慮されている)、実際には寸断して見るとそれだけで印象が異なる。(追記:テレビ作品は、再放送というかたちで複数回の視聴を考えることができるし、現在はビデオの販売という形式も可能なので、この時点で元の作品からは切断されている)いや、例外はあって、あらかじめモンタージュを意識、と書いて気づいたが、カメラ=万年筆というのは、写実だけではなく連続性に関するものを含むのかな、スナップショットであれば断続だし。ロメールは音楽を使わないのか(少なくても教訓シリーズより前は)とか。音楽が連続性を支えているからだと思う。ゴダールがずらして入れたり、混ぜ合わせたりするか、とか。いつでも映像作品を見るというのは、すさまじい集中力を必要とする。入ってくると同時に、音と構造と構図と位置と言葉と目線や物語、時間のようにその中に複数存在するベクトルといった要素を分析しなければならないからだ。そのうち1つにでも異常があれば、そこを再検査することになる、とやっているうちにも次に進んでしまうし、バッファはせいぜい数秒分しか取れない(というか、他の人たちはバッファがおれよりでかいのかも知れない)。処理が追いつかなければ昏睡してしまうし、処理すべき内容がないと退屈して寝てしまう。そのバランスは難しいだろう。それだけに映像作品には、あまりに大量のコンテキストは詰め込むことができない。利用される手法は物語に神話を利用することだ。この場合、物語に関するすべてのコンテキストは既知のものですむため、観ている最中に意識する必要はない。手が自然にプログラムを打つように、手が自然に魚をさばくように、反復練習の結果として、無意識のうちに処理できるからだ。この手法を利用すると、映像から意識しなければならない要素を減らせるので、より精緻な見方を与えることが可能となる。ギャング映画や、ポルノ映画、西部劇、ミュージカルのような、大衆娯楽作品にこそ優れた映画が出現する道理だ。ひとつの理由として、これらの作品は、物語を意識しないですむため、批判の対象として正しく観察できることが考えられる。単純に分母が大きいのですぐれた作品が入りやすいということかも知れないが。Javaの好きになれない点Javaという言語とかの話ではなく、Java界隈という言い方が正確かな。前から気に入らないところがあって、そしてどうもそこに良くない点が集約されてるような気がしてならなかったのだが、keisukenさんのところを読んでいて、なんとなくわかったような気になった。Jakartaの存在ということだ(※)。次のやりかたが単に古いだけということはありえるかも知れないが。新しい技術を利用してシステムを開発するにあたって、とりあえずは数名で先行して動くわけで、その過程で、練習をかねたりして細かなツールやらユーティリティやらを作っていき、それがチームの道具箱に入っていく。それがあらゆる意味でのベースのインフラとなる。サンプルソースにもなり、拡張の練習、更新方法の練習、変更した場合の影響の実験(というか死にそうになったり)、バグパターンの発見もあったりするわけで。新人には、使い込むうちに錆が浮いてきたやつのメンテか、そのへんを参照してよりベターなデザインのユーティリティを作らせてみたり。して、この道具箱の中のソース群は生きたコーディング規約であり、チームの文化の根源となる。いう順番でやってきているので、そういうものだと思っているし、それは良いプラクティスだと考えているのだが、どうもJava界隈ではそう考えられていないのではないだろうか、ってことだ。新しい技術を利用してシステムを開発するにあたって、とりあえずは数名で先行して動くわけで、その過程で、どっかのレポジトリを検索してユーティリティを取ってくるのか?もちろん欠けているものや、そこまで手が回らないもの、あるいは時間が不足しているという理由から、借りてくることはある。具体例だと、特殊なクラスローダはStrutsから抜き出したし、javacの呼び出しはJasperから抜き出した。プールは最初はcommonsを使っていたようだが、途中から、独自のものに切り替えたみたいだ(ここは担当してなかったので良くわからないが)。3.0(C++だな)の時も、COM(C++とVB)、ASP、CE、Java、Ruby(Cライブラリとの互換スクリプトがたくさん)、ASP.NET、常にユーティリティクラスの作成から始めているが、それは特殊なのだろうか?#なんか特殊な気がしてきたから、どうでもいいや。※もちろん、Jakartaプロジェクトが、commonsを持っていることは当たり前のことだし、それを公開していることも良いことだ。なく、たかがcommons程度のものをブラックボックスとして当然のように借りてくるところ(いや、解剖学的にソースをすべて確認して、その解析結果をチーム内で共有してとかやってるところもあるだろうから、それなら結果は同じだとは思うが、そんなことするより作ったほうが良いとは思うが)。なんか、練習もなしにいきなりでっかなシステムを組み始めてひいひい言っているんじゃないか、と思えてしまうところだな。それ以外に道具箱の中に山ほど作らなければならないものがあって、それで満載されていて、脇のポケットにcommonsも入っているということもあるだろうから、それはそれで良いのだが、でも粒度的にも、必要度からも、処理の難易度からも、ちょうど自分達の練習で作るべきものをcommonsで代替させているんじゃないかなぁ、と感じるところがあるのであった。はいはい、車輪の再発明ね。追記:多分、誤解はされてないようだけどkeisukenさんがうんぬんってことではないです。ネガティブな意味での「ユーティリティクラス作成からはじまる」というのとcommonsの合体技が、漠然と感じていたcommonsマンセーなJava界隈に対する不快感をうまく表してるな、ってことで。JavaのAPIについては、1.4からの参入だったことと、stdioやlibcとの比較になりやすかったという点から、ほとんど天国でしたね。Rubyとかは別問題だと思っているし(あの面倒くささも固さのうちというか)。JRubyというよりRailsが前提なんですね。[うーん、難しいですね。イタリア語、ロシア語あたり)を指定しておくと勝手に翻訳してくれるといいな。原文を読みたければ、どちらにしても、元記事を参照すれば良いのだし。[DVD]なんとびっくり、こんなものが。最優先でこっちを買う。プラネタリウム9月になったのに子供の夏休みの宿題のために、プラネタリウムに行く。いうか、五島プラネタリウムが消滅して久しいし、六本木のは単なるムードだけみたいだし(解説を元にレポートしなきゃならないらしい)、未来館は飽きた(というほどは通ったわけじゃないが、ちょっと新味に欠ける)。調べたら、夏休みが終わったもんで軒並み休業してしまったりしていて(本命は武蔵野のやつだったのだが)。残っているのは川崎かお台場か。お台場のソニーのやつに行った。最近のプラネタリウムの例に漏れず、11等星まで表示とかだから、子供のころのプラネタリウムみたいに、どっかの砂漠から眺める地表からの最高の星空ではなく、大気圏外からの最高の星空というやつで、つまりはエンタープライズだの大和だのから眺める景色ってのはこんなんなんだな、とか思うと実に不思議な感じ。シリウスから始まって冬の大三角経由でカノープス、そのまま南天に入って、ケンタウロスのαで、ああ、あそこから自分を疑うアンドロイドが細身で妙にねじれたナイフとともに裏山に到着するんだな、とか考えているうちに南十字星、でまた北天に戻って、アルクトゥルス、スピカ、北斗七星で春の大曲線の紹介。そいういえば子供の頃みた五島プラネタリウムだと弁士が、懐中電灯(ってこたないだろうが)のポインタで空を示して解説すると、青白い線で描かれた星座の絵が星に重なって神話の説明とかやってたもんだが、今のは違うなぁとか思い出してみたり。そこまでが常設の説明かな。惑星の話になり、太陽の光を反射してやはり一等星として見えるというから金星とかになるかと思うと、妙に暗い星がポイントされる(このプラネタリウムでは注目すべき星の周りを青白い輪が囲むのである)。疑問に感じるのだが、多分、そうなんだろう。クローズアップして土星となる。最初はガリレオが、それまで戦争の道具として水平に見るものだった望遠鏡を垂直にすることで天体が見えるということを発見したという(本当か?)話で、はじめて土星の輪が見つかった。いえ、解像度の問題で、耳のある星と観察されたというような図付きの話。それから70年たって、望遠鏡の精度が上がってはじめて輪と認識される(誰だかは忘れた......後で調べなおしたら記憶違いのようだ。40年後にホイヘンスが輪、さらに10年後にカッシーニが隙間を見つけている)。なんであんな不思議なものが、と人類は土星に興味を持ちまくって、数100年、ついにカッシーニを飛ばして近くで見てみようということになった。