投稿

9月, 2017の投稿を表示しています

一石二鳥は諸悪の根源

飛行機の搭乗手続におけるオーバーブッキングのケースについての記事「 なぜ全日空は定員オーバーで飛ぼうとしたのか? 」で「一石二鳥は諸悪の根源」という設計工学の考えが紹介されていた。 設計工学の世界には「一石二鳥は諸悪の根源」と考える学派がある。一つの部品に複数の役目を負わせると、事故はそこから始まることが多いのだ。 …… ミスをなくすには、「一人二役」を分離することが望ましい。 僕はこれを設計工学特有の話としてではなくて、むしろ「設計工学でもそういう風に言われているんだ」と思った。 中学数学の1次方程式で、やり方は一応授業で習って理解できているのに、実際に問題を解く場面で計算ミスを多発してテストで失点する生徒というのは、移項(加減)と x の係数を 1 にする計算(乗除)を一緒くたにして暗算しようとするのが原因であるのが多い。こういう子供には、移項と x の係数を 1 にする計算は途中式を分けてそれぞれのステップできっちり書いてやるべきだと強調することになる。まさしく上の引用の通りだろう。 同じようなことは、プログラミングでの、メソッドの定義にも言えるだろう。一行のコードで魔法のように処理が済むコードを考えたくなるのは山々で、特に、Perl で正規表現などに懲るとそういう傾向が増進されるのだが、Java でシンプルなループを記述した方がメンテナンス性も良いコードになるものである。このあたりが、関数型とオブジェクト指向の違いだろう。関数型は一石多鳥を目指す指向と親和性が高く、オブジェクト指向は一人一役に分けていく指向と親和性が高い。

MacBook Pro(13 インチ/タッチバー付/メモリー 16GB)購入

結局、MacBook Pro は ASCII カードではなく、ドコモ口座の VISA プリペイドで購入した。ちょうどドコモ口座がキャンペーンでキャッシュバック率が 1% → 4% になっていたのが理由。ちなみに、ASCII カード(オリコ)はポイント率 1% である。 このことで、2 年目までの補填率が 100% → 70% となってしまう。しかし、20 万以上する MacBook Pro の場合、70% になっても、依然、保険基準額は 14 万であり、どの道、補償上限の 10 万は超えてしまっている。つまり、部分的損失ではなく完全に損失した場合の話ではあるが、ASCII カードで購入するメリットはないわけである。そんなわけで、タイミング良くドコモ口座のキャンペーンがあったので、+3% を迷わず選んだ。 余談だが、実のところ自分用に買うつもりでいたはずの MacBook Pro だが、諸般の事情から結局今回は自分用ではなく身内用に買うことになった。もちろん、ASCII カードの関係上、名義は自分名義ではある。なので、この記事で、MacBook Pro を買ったと言いながら、一方で Mac ユーザーとしての話題が今後も出ないとしても全く自然なので、そこは誤解なきよう。 その MacBook Pro のセットアップだけはやってあげたのだが、タッチバー付 13 インチ版の最小スペックの CPU(3.1GHz デュアルコア Intel Core i5(Turbo Boost 使用時最大 3.5GHz)、64MB eDRAM)だったのもあるのだろうか。それほど速い感じはしなかった。今、自分が使っている 2011 年 8 月に購入した HP の 17 インチノート(Pavilion dv7-6100)は Core i7 2630QM(2.0GHz クワッドコア(Turbo Boost 時 2.9GHz)L3: 6MB)だが、それと比べて、コンパイル作業などが速い感じはしなかった。まあ、デュアルとクワッドの違い、macOS と Linux の違いもあるのだろうけど、6 年も経ってる割には、そんなに違いがないなと。 まあやはり、CPU の高速化の限界もあるし、15 インチ MacBook Pro ではなく、そもそも 13 インチの MacBook Pro であるから、...