2012年12月

失われた20年で日本人が失ったのは「余裕」


久々に@Koshianに援護をもらったが、本文と微妙な引用部分はさておき、余裕のないのが今の日本人の問題点である、という指摘は全くそのとおりであるとL.starも思う。日本人は決して劣っているわけではない。決して他人に冷たいわけでもない。

しかし例えばベビーカー談義で「ベビーカーは都心に来るな」などと欧米なら確実に問題発現になって共同体から排除されかねないような暴言も、東京の混み具合を見れば霞んでしまう。あの大量の人ごみでは、どれだけ子供が尊かろうがそれを気遣うのは不可能だ。そんな余裕はどこにも無いのだから。金銭的なものにしてもこのデフレである。皆が途方に暮れてしまうのも宜なるかなである。

 

さてそんな日本人に余裕をもたらすことのできるものとは何なのか?という答えは、マクロにはいくつかある。全体のパイを増やす(例えば侵略とか)のもひとつだが、現在ではまともな選択肢とはいいがたい。では他には?というところだが、ここでは寓話的に同様に余裕がなくなって崩壊したが、それを乗り越えたあるテクノロジーの話をしてみたい。コンピューターのCPUの話だ。

15年ほどさかのぼって、Pentium時代から始めてみようか。思えばこの時代はまだまだ牧歌的であった。競合もいくつかいたが、動作周波数もせいぜい66-200MHzと今では考えられない低さである。実際、このころまでは比較的低消費電力で、当時のハイエンドデスクトップのCPUですら、今のノートPCに及ばないぐらいであった。この様相が変化するのが、次のPentiumII(andIII)-Athlon時代だ。スーパーパイプライン構造を武器に、どんどん動作周波数は伸びていき、ついには1GHz にまで達した。それとともにどんどん消費電力も増した。そして動作周波数はどんどん独り歩きを始め、次第にメガヘルツとは性能の指標となり、さらにはマーケティングのためにも重要な指標となった。メガヘルツバブルの到来である。

メガヘルツバブルの頂点にたったのがIntelのPentium4だ。20段という当時にしてはとんでもないパイプラインの深さを武器に、圧倒的に高い動作周波数を誇った。当初1.4GHzで登場したが、次第に動作周波数を高め、第二世代のNorthwoodでは3GHzに届かんばかりであった。そして第三世代のPrescottが登場する。

Prescottはそれはそれで素晴らしいCPUであり美点もあったのだが、この頃から問題になったリーク電流に対処しきれず、消費電力の著しく高いCPUになってしまった。最終的には4GHzを目指し、さらにその次の世代で5GHzを目指すとしていたその野心的な試みは、あまりに高い消費電力に耐え切れず崩壊した。

そして、メガヘルツバブルは崩壊した。対抗馬だったK8=Athlon64は、そこまで高周波数狙いではなく、すでに「モデルナンバー」とやらいうそれっぽい、たまたま動作周波数のPentium4と似たような性能になるように選ばれた数字で表されていたので、崩壊を免れた。このあとのしばらくはAMDの輝かしい時代、Intel冬の時代になる。

この教訓は「高消費電力、高動作周波数」というメガヘルツバブルモデルは、結局のところ長期的にはうまく行かなかったということだ。そのあとはそこそこの消費電力、バランスの良い動作周波数でまずまずの性能、というところに落とし所が動いた。別にリーク電流の話だけではなかった。PCの集積密度の高いデータセンターでは排熱の問題を生み出しており、十分に集積できない課題があった。だから、IntelがPrescottをうまく作っていたとしても、それは時間の問題だったのだ。

でもそれでもあの時、みんなメガヘルツという指標を信じていた。わずかでも高い動作周波数を誇るCPUに大枚をはたいた。血眼になって定格より高い動作クロックで安定するロットを調べあげたりした。あのとき、メガヘルツは幸せの指標と思われていたのだ。

翻って我々の生活を見てみよう。とにかく努力しろ、金稼げと功成り遂げた人は言う。若いころの苦労は買ってでもしろ、無駄にならないから、という。しかし、努力の量は、稼いだお金は、本当に幸せの指標なのだろうか。それらは確かに一定の幸せを手に入れる役に立つし、疎かにすべきものではない。でも一方で、それはメガヘルツのようなまやかしの指標ではないか、と感じずにはいられない。

それどころが、今となってはメガヘルツはコンピューターマニアにとってもそれほどのものではなくなってきている。利用できる携帯が多様化し、携帯性とバッテリーの持ちなど、使うための指標が変わってきたためだ。4GHzで動作するCPUを積んだ古いデスクトップと、1GHz(推定)のCPUを積んだiPhone5とでは、どちらが幸せだろうか?そこではメガヘルツはもう何の役にも立たない。

ちなみに、メガヘルツバブルの崩壊後、CPU業界はかなりトレンドを変えた。消費電力とクロックのほどほどのバランスはすでにあげたが、マルチコア化、GPUの統合といった、単独CPUだけでは計れない方向に舵をとっている。マルチコア化は夫婦共働きを想起させる。例えばこれは現代でも、同じ年収600万円なら夫が年収600万の仕事を見つけるより、夫婦で300万円づつ稼ぐほうが難易度が低い、といった形で適用可能である。あるいはGPUを始めとする単機能ユニットの活用は、ワークシェアリングに似ている。

長くなってしまったが総括すると、結局全体的な効率を上げるために、個人個人がより効率の高い行動を取ること、という解決策が重要だ、ということが言いたかった。その上でより全体負荷の低いモデルを採用することということだが、それ以上に我々の心のなかにある間違った指標を取り除くことが大切だ、と言いたかった。我々の心のなかにあるメガヘルツ、それは我々が失われた20年で捨てられなかった古い価値観なのだ。

 

日本では総選挙が今週末にという話で、実際話を聞いたときはタイミングが意外でちょっと驚いた。まあこの点は意表をついた民主党の得点であろうが、いずれにしても政権の成績としては首を傾げるところ。自民圧勝が予想されるのも詮無きことかな、と思う。ところで自民党といえばネットでは良くも悪くも憲法改正案と、それに付随した片山さつき議員の天賦人権論否定発言が話題になっている。

天賦人権説(あるいは自然権)の否定は何が問題なのか?


が、天賦人権論肯定派の記事ではあるが、よくまとまっている。L.starはこの件についてはヨーロッパかぶれとの誹りをうけるのかもしれないが普通に天賦人権論支持派であり、人権についてはそもそも「原則論として、ある」が基本であり、その上で「やむを得ない場合においてのみ制限が許される」べき、という認識を持っている。まあ日本国憲法もしかりだが、たいていの憲法はその認識を踏襲している。

まあ自民党の改正案が、まだ全部に目を通していないが、これが果たして本当に奴隷労働だの徴兵制だのにつながる動きかというとまあそんなのは穿ち過ぎだろうと思うが、それでもなんというか理念に対する後退、現実に対する妥協を感じざるを得ない。

この違和感を説明するのに、それと同じ気持ち悪さを最近感じた以下の記事を上げたい。

一般職が有休を取りすぎて困る! 何とか阻止できないか


有給休暇の話は以前にも

ロスジェネ世代がロストした最も大切だったもの


でやったことがある。この時は稼働率を使って有休の本来の意義を考察したが、また別の視点があるようにも思われる。先の記事の論点をまとめると、 有給休暇を取るのは労働者の生得の権利なのか、はたまた業績が伴う場合にのみ許される限定された権利なのかというところに行き着くだろう。つまりこれを天賦人権論と国賦人権論になぞらえるならば、天賦有休論か社賦有休論か、ということになるだろう。

天賦有休論では、有給休暇は労働者に生得的に与えられる権利である。したがって会社がこれを制限することはできないし、あくまで公共の福祉に反する場合に「お願い」をすることが出来るだけである。労働三法なんかを見るに、日本は法体系としては天賦有休論である。ヨーロッパでは法体系だけでなく普通に天賦有休論がまかり通っており、誰かが休むことによって問題が発生してもそれはしょうがないことであり、当然それを最小限に留める努力はするにしても、有給休暇を取らせないようなことはないし、例えば部下に消化させていないのはそれは悪いことだ、という意識がある。

社賦有休論は、それとは逆に、有給休暇は会社が労働者に与えるものであり、会社あるいは会社に関係する共同体の利害に反しない限り取ることが労働者に許されている、というものだ。先ほどの記事の質問者をはじめとして、日本では法体系が天賦有休論であるにもかかわらず、実態として社賦有休論が優勢である。ただ、その優勢も年代が変わることに薄れてきていて、世代間対立の原因の一つにもなっている。

この「理想論としての天賦有休論を抱えつつも現実は社賦有休論」という一つのモデルを見ると、私が感じた、先程の自民党の改正案の意図が見えてくる。改正案は結局のところ現実主義への修正、もっというと高い理想を捨てて現状を追認する意図に近いのではないだろうか。要するに自民党は日本の良きにつけわるきにつけ本質的な部分を変えたくないし、むしろ過去を再確認することでうまくいくと信じているのだろう、というところまで見えてくる。

もちろん、変えることが良いのか悪いのか、というのはまた別の話で、しかも簡単に結論が出るものでもない。ただ投票をするときにはひとつの目安になるのではないかと思う。自民党はまあ昔から保守政党なわけだが、今回の改正案もわかりやすい保守回帰である。だから、それが良いと思う人は、積極的に自民党に投票すべきだろう。

なお個人的には、法体系が描く理想論としての天賦有休論の実現のために骨折ってくれる正当に投票したほうがいいな、と思っているし、また憲法についてもそんな現実への迎合ではなくちょっとばかり無理なぐらいの理想論が乗っているぐらいがちょうどいいと考えている。しかし果たして日本に帰って投票するとき、そんな選択への投票はできるのだろうか、と今回の顔ぶれを見る限り疑問しか湧いてこないのは遺憾の極みではある。

 

なお、こういうことを言うと意識の高い系の人が「頑張らなければ褒美がもらえないのは当然のことだ」という反論をしてくるのが目に浮かぶが、それは違う。天賦有休論に基づいて休みを謳歌し、家族とのつながりをも手に入れられる人が休みを返上して自発的にハードワークをするのは、それはノーブレス・オブリージュだ。一方、社賦有休論に基づいて、会社から休暇を許可されずその結果ハードワークをさせられるのは、ただの奴隷労働だ。

この2つは明確に分けて論じなければならない。混ぜて議論をすると、たいてい話は欧米のエグゼクティブはびっくりするほど長時間労働するのだから、日本人の工場の単純労働者も長時間労働で頑張るべきだ、みたいなクソミソ一緒であさっての方向に向く。自発的ハードワークをしなさい、というのはこのブログのテーマの一つであり、これからも繰り返し語って行きたいと思っているが、それは人に奴隷労働を強いる形になってはいけない、というのも常に注意している。難しい話ではあるが。

 

SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?


まあ、永遠に繰り返される話題なのだが、なぜいつまでもO/R Mappingが評価されないのか、という話は実は難しいようで簡単である。もう何をおいてもインピーダンスミスマッチ、これに尽きるから。もちろんミスマッチの内容は難しいが。

SQL屋が頑迷なのでも、言語屋さんが稚拙なのでもなく、Object指向プログラミングモデルとRelational理論、この2つの概念は致命的に相性が悪い。それを組み合わせようとするのが無謀なのは当然なのである。上記のスライドは、言い方を変えれば「SQLの言語実装は糞なんですよ。Object屋の概念で書きたいんですよ。わかってくださいよ」という意味である。もう一方の「Object屋さんはSQLの真髄をわかっていない。こんなのじゃダメだ」という話は

SQLに依存することの危険性 ー 単体DBサーバでは終わらない時代の考え方


で取り扱ったことがある。

そしてO/R Mappingが虐げられるのも簡単で、SQLはすでに実装があるから。インターフェースとしてつながらないものをつなげようとして非難を浴びるという最悪のケースである。

SQL is obsolete.


という文章にその点はまとめたことがある。RDBMSを叩いて最適なパフォーマンスを出すためには、物理構造を読み込んだ上で論理構造しか記述できないSQL文を書かなければいけない、という問題がひとつ。性能が出ないわけではないが、プログラム側が相当頑張らない限り手でSQLを書くよりはるかに効率の悪いSQLしか保証できない。いきおい、性能保証のしやすい単純なSQLしか発行できないフレームワークが出来上がるわけだ。もちろん、ノウハウの蓄積でそれを補える可能性は今でもあるが、十分に複雑で高速なSQLに、しかも多数のDBに対応してマッピングできるフレームワークは今に至るまで皆無である。誰のせいか、というともはや誰のせいでもない。もう設計概念が違う時点でダメなのである。

さてそこで「ところで最近のRDBMSは十分に性能も出るし、そんなに躍起にならなくてもいいのではないか?」という疑問が出るが、それは残念ながらむしろO/R Mappingを否定する方向に働く。ひとつは、十分に高性能化する以上に高い性能を求められている、ということ。もはやWebの最前線ではスループットで数万tpsを求められている現状、無駄に出来る部分などどこにもない。それどころが、SQL自体ののんきにパースしてからプラン組むみたいな構造すらボトルネックになりうる。

そしてそうこうするうちに、やれMongoDBだのHadoopだのが現れ、ついにRDBMSが時代遅れになってしまう時代がやってきた。VoltDBのように文法としてSQLを残す、あるいはSQLライクな言語を残す実装はもちろんある。しかしそういう状態でも、もうRDBMSの構造ではすべてのニーズに対応することはできない。OLAPではカラム指向DBに惨敗し、OLTPではNoSQLの後塵を拝す。そんな状況で、果たしていつまでも最先端のフロントエンドがRDBMSなどというレガシーを使う必要があるの?実際に最先端(ただし、未来なのか斜め上なのかはまだ何とも言えないが)MeteorはMongoDBがデフォルトである。

L.star自身O/R Mappingツールは公開こそされてないけど書いたこともあるし、読んだことも頻繁にあるし、SQLについてはそれなりに頑張ってもいたので、この件については素人ではない。その上で言わせてもらうと、この2つを組み合わせることは無謀である。もちろん、その無謀な試みが何度も繰り返されたことも知っているし、それが一定の成果を上げたことも分かっている。それはとても素晴らしいことだと思うし、褒め言葉として「君は本当に馬鹿だな」と言いたい。そしてその我々が誇るべき馬鹿な試みも、One Size Does Fit Allの時代が続けば、ついには回答を見出しえたかもしれないのだが。

これからのO/R Mappingの進む道は、結局のところオブジェクト指向側の勝利が確定することからスタートするだろう。それはつまり使う側のインターフェースが第一になるという、当たり前の結論だ。そして、Relationalな部分は、過酷な性能競争の末他の性能特化型DBに敗れ、結局Object指向と親和性がほどほどに高いDBが生き残るだろう。そしてRDBMSはレガシーとなる。それがいつか、というとまだまだ難しいところがあるが、もう10年は切っているだろうなと肌で感じる。もちろんRDBMSが本当の死ぬのにはもっと時間が掛かるだろう。しかし、O/R Mappingは、その無茶な仕様を克服できるほどの成果をあげられず、もっと楽に実装できる次世代に追い抜かされるという意味では、結果論として不毛な試みだったのだろうな、と思う。

 

 

 

なんかいい加減ブログの更新もいい感じに滞っているが、忘れられないためにもたまにはリハビリも兼ねて書こう。元オランダ在住といえばやはりワークシェアリングの話かと思い、そこから発展して「ワークライフバランス」という単語に思いを馳せてみたい。

御存知の通り、オランダではワークシェアリングが盛んである。それゆえ、日本とオランダではワークライフバランスも大きく異なる。日本でワークライフバランスを叫ぶ人は、必ずといっていいほど「仕事をしてお金を儲けないと幸せもないんだから、ワークライフバランスは世迷言」という反論を受ける。バランスの話をしているのに世迷言とは若干へんてこな印象でもあるが、それだけ日本では「仕事優先」というバランスがまかり通っている。

ちなみにニューヨークももちろん日本・オランダと異なるバランスの持ち主なのだが、私的に見るにどちらかと言うと日本よりである。その点は、都市圏の広さ、経済影響力の大きさと関連があるのだろうか、と思わなくもない。働きずくめな状況は社会的なサポートが無ければまあ不可能といってよく、社会人が夜遅くまで残業し続けることと、日本のコンビニが24時間営業なのはもちろん密接に結びついている。ニューヨークで驚いたのはドラッグストア等が24時間営業で、最悪夜中まで勤務しても生きることに不都合はあまりない。いや、もちろん東京を基準に考えると大したことはないのだが、一部のナイトショップとバー以外営業なんてあり得ないアムステルダムとは雲泥の差である。だから自分の職場がどうであるか、というだけではなく、ニューヨークは長時間勤務が可能な社会インフラを持っている、と実感できる。さすが眠らない街である。

さてワークライフバランスという言葉に戻ろう。日本人にとって、長時間労働が事実上禁止されているに等しいヨーロッパの労働事情はまるで天国と思っているだろう。ところがここで、私の知人が聴きこんできた面白い会話を披露したい。
オランダ人男性「日本人は子育て全くしなくていいんだって?それってうらやましいな」
知人「いや、そのかわり夜十時までみっちり働くよ」
オランダ人男性「 んー、それは嫌だな」

これを聞いてどう思っただろうか。「オランダ人は軟弱だ」だろうか。まあそれは否定しがたい一面もある、その一方で「日本のサラリーマンは子育てを蔑ろにして仕事に打ち込んでいたのか」と考えた人はどれだけいるだろうか。最近は増えていると信じたいが。

 

ワークライフバランスとは、人はどれだけ仕事に打ち込んでいいか、という指標の話ではない。人はどれだけいい親であり、どれだけいい住人であり、どれだけいい会社人であらねばならないか、という指標の話である。仕事を最優先するということは、親として、住人としての責務をほっぽり出していい、という意味になってしまうということを自覚してしゃべっている人がどれだけいるのだろうか。

オランダにおけるワークライフバランスとは、仕事をほっぽり出していいという話では決してない。それは「親として、家族としての責務をある程度優先しなければならない」という指標である。そういう価値観であるから、仕事どっぷりで、家族をほったらかしにする人は評価されることはない。日本では必ずしもそうではないが。

このへんの話は、教育関連のところとも当然密接に関係している。教育における家族の位置づけが問題になっているが、それも責任を果たすためのリソースがあれば可能な話だろうが、仕事が最優先になってしまってはそもそもそんなリソースも十分ではない状況で、はたしてその義務を果たせるのだろうか。十分なリソースもなしに「できる。やれ。」と言うだけなら簡単で、どんな馬鹿にもできる。問題は実現することであり、現実にできていなくて問題になっているものを「できる」ということになんの意味があるのか。もちろん限られたリソースで仕事も家庭も全て両立できる優秀な人材はいっぱいいる。そうでないもっとたくさんの人はどうすればいいのか。

オランダにおけるワークシェアリングとは、結局のところ労働の分配というより「家庭人としての義務を果たすための時間リソースを確保する」という意味合いが一番強かったように私的には感じている。仕事を蔑ろにしているわけではないし、そうとは誰も言わなかった。ただ「優先順位として家庭のほうが重要だろ?」とは、同僚オランダ人が揃って口にしていたことだ。

 

もちろん、日本とオランダではあらゆる事情が異なるため、オランダ人が家族を優先するからといって日本がそれを真似るべきだということは決して無い。そこから学ぶべきところがあるとすれば学べばいいだけであって。ただ、今の若者がワークライフバランスを語るとき、それは「子供時代の親との関係が必ずしも幸せではなかった」という重要な経験がベースになっているとも感じる。家庭を放り出して休日も接待ゴルフに興じ、最後には熟年離婚してしまった家族なんかの話を聞くに、そう思わざるをえないし、実際ないがしろにされた子供からすると、同じ過ちを二度と繰り返したくはないだろう。だいたい「お金がないと困る」は「働けば幸せになる」と同値ではない。

それもこれも、「お金」という計測しやすいKey Performance Indicatorにすべてを任せてしまったのが究極の問題なのだろう。もちろんお金は重要なパラメーターであるが、本質的には「幸せ」とかそういったもっと重要でしかも計測が難しいパラメーターの従属変数でしかありえない。お金をそれほど稼がずに幸せになる自由、というのは日本には本当はあったはずだし、むしろ今でも存在しているはずなのだが。

 

まあつらつらと久々に駄文を垂れ流してしまったが、この問題を追っていくと最後の質問は「幸せって何だっけ」という最も根源的な部分に行き着く。「お金いっぱいもらって出世して幸せ」ルート以外にも、もっと多様な分岐と多様なハッピーエンドはあるはずであるのだが、それをはっきりを発掘するだけの文脈を我々はちゃんと持ち合わせていない。それが確立するまでは、ワークライフバランスという言葉も絵に描いた餅にしかならないのだろうな、と強く思う次第である。

なお、「ポン酢しょうゆのあるうちさ」と続けてしまったらそれはもうおっさんの証拠である(L.star含む)

↑このページのトップヘ