小飼弾のフェイントテクニック
ひがさんの、ちょっと前のエントリ。
ボクシングの内藤選手は、フェイントの達人です。ここにパンチを打ち込むぞーと目線を合わせているのと、まったく違う部分にパンチを打ち込むことができるのです。これは、超高度なテクニックで、達人にしかできないそうです。
弾さんのつっこみも、おんなじ感じですよね。何かを引用しつつ、別の部分を掘り下げるっていう。今日、やっとこれは、内藤選手のフェイントと同じなんだと気づきました(笑)。
例えば、「誰が書いても同じコード」は大事なことなのかの私のエントリ。これに対して「同じコード」の同じって何さとふって、TAPをすすめるって言うフェイント。
ついに永和の秘密を公開 - 受託開発の極意のエントリに関しても、極意より作品を - 書評 - 受託開発の極意で本の中身より「何を作ったか」を焦点にするフェイント。
フェイント後の話が面白いから成り立つテクニックだと思うんですが、最初やられたときは、面食らいました。
書評についても、高度なフェイントが駆使されている気がしますね。
小飼弾のフェイントテクニック - yvsu pron. yas
これ読んだとき、なんのことかまったく分からなかったんだけど、今回はじめて言及されて、ひがさんのいうことがよく分かった。
たしかに、話がずれてるわ。
だって、もとの話は「本質的でない記述が長々と書かれてあっても問題を感じないならそのことが問題」とか、「怠惰であること自体、センスが必要である (誰でもなれるものじゃないみたい)」とかいう話だったのに、LLは尻が軽いという、なんか似てるけど違くね? みたいな話題にすり替わっている。『怠惰なプログラマの重い尻を上げるためには』なんてことは誰も話題にしてませんから。
結局、これ↓が書きたかっただけなんだろうね。
sub str2data{ my ($keys, $str) = @_; my @result; for my $line (split /\n/, $str){ next if $line =~ /^$/; my %hash; my @fields = split /\s+/, $line; $hash{$_} = shift @fields for (@$keys); push @result, \%hash; } \@result; }; my $data = str2data([qw/name age email/], <<"EOT"); Foo 20 foo@mail.com Bar 21 bar@mail.net Baz 22 baz@mail.org EOT404 Blog Not Found:「怠惰はプログラマの美徳で言語の機能じゃない」っていうけど
これ見たとき、なんでこれで OK なのかわかんなかったけど、Perl って文字列と数値に区別がないんだよね。だから ['Foo', 20, 'foo@mail.com'] が ['Foo', '20', 'foo@mail.com'] になっても問題ないということ。Ruby や Python じゃあまり使えない方法だ。いや、Perl でも偽となるデータを含めたい場合は使えないのか。どのみち限定した場面なら有効な方法。
あとはこれか。ブックマークより。
怠惰はプログラマの美徳であってそれを言語の機能に求めてはいけない。
怠惰なプログラマが自分で使う道具に機能を求めたら悪いのかな。求めてはいけない理由が思いつかん。求めないプログラマがいたらそれは怠惰じゃない勤勉なプログラマでしょ。
というか勤勉じゃない勤勉なプログラマがこう考えるわけか。なるほど。