つれづれ

その378

今日、本屋さんで「オブジェクト指向でなぜつくるのか 第二版」を見つけて、パラパラッと読んだところ、かなり内容が書き換わっていて、それがなんか良い感じになっているように思えたし、なにより「自由自在 Squeak プログラミング」が「より深く学ぶための参考書籍」に入っていたので、前回の否定レビューとは違った、肯定的なレビューが書けるかも!・・・と小躍りして買って帰りました。

オブジェクト指向でなぜつくるのか 第2版

オブジェクト指向でなぜつくるのか 第2版

で、一通りメモをとりながら今読みおえたのですが、、、、うーーーーーーん、おかしいな、本屋さんでパラパラめくったときは良い本に生まれ変わったかも!・・と思ったのに、、、

そのうちレビューするかもなのですが、今の時点の手応えとしては、正直残念。ただ、前作の先入観ゆえの色眼鏡はあるとおもうし、1版と読み比べをしてないし(てか、地震ブックドラフト以来 行方不明なのですよね...)、レビューするならもうちょっと読み込んで、平澤さんの言いたいことを消化できてから書きたいな、と思います。


* * *


ちょっと読んでて気になったのは、平澤さんはメイヤー先生が嫌いなのかなぁ?・・・と感じたこと。ほんと作為的なくらいに「メイヤー的に大切なもの」を(ニアミスしつつも、ときには紙一重で)さけているようにみえます。「知らない」のじゃなくて「排除している」感触。だとすると、平澤さんの考えるOOPが何なのか、気になります。そこが上手く把握できないと、部分をつつくレビュー以外は出来なそうな感じ。難しい。

今のところハッキリ言えるのは、憂鬱本とオブ脳本が 「より深く学ぶための参考書籍」入りしていて、メイヤー先生の本が選外になっているということ。もちろんいい本もいっぱい紹介してるし、本編も大変力がこもった一冊で、部分部分に個別に○×をつけていけば、○だって多い本だとは思うのだけれど、「そういう本だよ」で済んでしまう話なのかもしれません。

その379

恐ろしいものを発見。

2011年5月6日

「実はオブジェクト指向ってしっくりこなんです!」から一年

(中略)

プログラマーの方のブログを見ていると、オブジェクト指向的実装について考察しているものが多い。しかし、ほんとに仕事で稼いでいる人は言語はVisual Basicで、業務知識に精通している人かもしれない。仕事で稼いでいる人は、ブログなんて書く暇もないし、そんなことをしても金もらえないもん。プログラムってプログラミングしたい対象があって、その対象となる業務知識や科学技術の知識のほうが価値があり、プログラミング実装は、手軽で簡単でバグが少ないものにつきる。

プログラミング実装が一番価値があると言えた時代は、次第に終焉を迎えている。便利なクラスライブラリが開発ツールがあるのだから、それらを使えばいい。クラスライブラリやコンポーネントの使い方がわからなければ、インターネットで検索すれば手軽に情報入手できる。

業務システムのアルゴリズムを実現させるには、static関数を使い、かつstatic変数を使わないこと!オブジェクト指向実装というものは、複雑なアルゴリズムの実現に対しては、役に立たない技術である。多くの自分はプログラミングの天才だと思っている人は参考書どおりのオブジェクト指向プログラミングのパターンを知っているだけで、実践の業務システムが構築できるだけの創造性を持っているわけではない。本当に勝てる人はアルゴリズムを作る人であり、ユーザーに支持されるものを作る人である。本に書いてある実装方法でプログラムを作成し、「動いた!」と自己満足している人ではない。

システムエンジニア日記

うーん...、これは凄い。

みながわさんって、基本的に陰謀論を好みそうな人で、かつ 似非科学を愛してそうに思えます。タトエバこちらとか。

みながわけんじ
Posted @ 2010/06/09 16:24
何故インスタンスを作るの? メンバー変数をメモリ上に格納する領域を作るため。 想像するに、もともとクラスってステートマシンをパクった考え方で作られている。メンバー変数は状態変数のパクり。でも学者さんは、パクりだって言えないから現実世界を表現したものだと崇高そうなダマシを言っているだけ。

オブジェクトを指向してみる/何故インスタンスを作るの?

みながわさんの言説に、いろんな人がいちいち黙っていられなくなってしまうのは、氏の振り回しているモノのが「単純に間違ってる」とか「無知」とかではなくって、「似非ソフトウェア工学」だからじゃないかしら?

その380

ソニーのアレですが、わたしはいちいちハッカーのせいにするのを非常に腹立たしく感じています。ソニーは s/ハッカー/泥棒/ 的にハッカーを定義しているようで「盗まれた!盗んだのは泥棒に違いない!!」みたいな酷い有様。加えて、ハッカーを怪人20面相的大泥棒につかうことで、「盗むことを防ぐなんて出来ない」「明智君を呼んでこい」みたいな印象を 皆に植え付けようとしているのが凄くいやらしく感じます。

その発言がどんなに滑稽かを普通の人に理解してもらうには、s/ハッカー/ニンジャ/ するといいと思います(:-p

その381

ていうか「ルートキーが漏れた」と言われるやつだって、その決め手は「ハックした人が凄いから!ハッカーが本気になったら誰にも防ぐことは出来ないから!」じゃなくって、

PS3 呆気無く陥落 « やっぱりマックでしょ!

という、ソニーの本当にポカすぎるポカですし。

今回の流出も、いろんなニュースを見る限り、これだけの個人情報を扱っているにしては ソニーはあまりに無防備で、かつ全般的にセキュリティに鈍感な風土だったのでは?、という印象を受けます。

起こってしまったことは仕方がないにしても、その後のソニーの対応はつくづく

スピン = 情報操作のお話。
(中略)

基本的には以下のようなメソッドが標準になっていると思います。

  • できるかぎりスルーし、事実を表に出さない
  • スルーしきれなかった場合は控えめにアナウンスし、実害がないor少ないことを強調する。外部からの指摘だったことは極力隠し、運営者が自ら発見したかのような印象を与えるように努める
  • 被害の発生を認めざるを得ない場合は正直に報告するが、自分も被害者であるということを強調する。通常の手段では防げない高度な攻撃であったという印象を与え、被害を受けても仕方なかったという印象を与えるように努める

つくづくスピンだと思いますね。

スピンドクターと脆弱性関連情報 | 水無月ばけらのえび日記

で、そういう姿を目にすると、今後もサイバーノーガード戦法 を貫くのでは? と今後のソニーに対して全く信頼できない気持ちで胸がいっぱいになってきます。

その382

「ルートキー」問題についてブラウジングしてて見つけたサイトに面白いことが。

実はこの変更の時、
 SONY側がPS3のセキィリティに潜んだ大きな穴
を自ら発見した可能性があります。

それは、本来ランダムな数字を用いなければならない
Private Key の値がランダムになっておらず、いつも
決まった値である。というものでした。
これは致命的な失態です。
前回も説明した暗号解読にかかる10〜100億年という時間は
鍵がランダムな値で、そのすべてを解析しなければならない!
っという前提のもと計算されています。

鍵が一定であれば、単なる数学の問題で、
答えが出てしまいます。

SCE側がこれに自ら築き、悟られないように
メモリアクセスのできるだけ制限しようとした結果が
OtherOSの廃止なのだと予想されます。

Linuxをはじめよう!:PS3/PSPへのハッキングはなぜ可能だったか (part2)

単なる推測なので話半分で考えるべきとは思いますが、なんであのタイミングで OtherOS 機能を削除したのかいまいち不思議に思っていたので、なんだかとてもピッタリ来るな〜、と感心してしまいました。

本当のところはどうなんでしょ?

その383

・・なんでこんなにソニーを気にしているかというと、実は 日本で出たらすぐに Xperia play を買う気まんまんだったのです。が、あまりにあまりな姿がすごいので、止めとくべきかな、と悩み始めてしまったという...。

その384

天井に以前から強い問題意識を抱いていた東京大学生産技術研究所の川口健一教授

http://www.miraikan.jst.go.jp/linkage/qa/110426216239.html

という記述に、「天井フェチ!?」と気になったので調べたら、こんなのが

主催 耐震工学研究会
日時 2011/05/27(金) 17:00〜18:30
会場 日本大学駿河台キャンパス理工学部1号館 122会議室
(東京都千代田区神田駿河台1-8-14地図)
参加費 1,000円(会場にてお支払いください)
講師 川口 健一 准教授(東京大学生産研究所)

http://www.unions.co.jp/dqs/seminar/course/110527/index.html

あぁ、見たいかも。平日だから無理だけれども…。だれかレポートしてくれないかしら。

その385

まどかマギカの最終回見終わってふと思ったのが、紫色のクオリア のコミカライズの企画があったけれど、大変だなぁとか思ってしまいました。よしんばアニメ化なんかしたら、完全に二番煎じ扱いされてしまいます。可哀想な子。

紫色のクオリア (電撃文庫)

紫色のクオリア (電撃文庫)

以下ネタばれなのですが、女子中学生「波濤学」が不幸な運命に巻き込まれた友人を救うために、時間を巻き戻しながらのトライアンドエラーを繰り返し、それでも変えられぬ運命と戦う過程で、ついに神への階段を登ってしまう物語です。世界の認知外の存在になってしまったり、おまけに魔法少女までチョビっと絡んできたりと、本当に。

もう、まどマギ の後では、どうしたって(T△T。

その386

14.ブランチのマージ
メンバーには極力trunkへのコミットを避け、開発者毎に一日分もしくはトピック毎にブランチを作りそこで作業をしてもらいましょう。ブランチをチェックしてマージは管理者がメンバーが帰った後に行いましょう。
注意: メンバーにマージを任せてはいけません。コンフリクトしたコードをそのままコミットして帰るメンバーのせいでtrunkが壊れると他のメンバの開発が滞るからです。
翌日の朝会ではメンバー毎にtrunkから新しいブランチを作成しそこから開発を再開するようにお願いしましょう。

http://d.hatena.ne.jp/tumf/20110321/1300661187

やり方自体へのハテナと、それとツールとのマッチングのハテナが浮かびました。後者は Subversion より Git 使ったほうが良くない?みたいな。

前者の「やり方」については、ここまで開発者を信頼しないで仕事を進めることへの疑問がひしひしと。それって美味しいのかなぁ?

ここまでやるコストをかけるくらいなら、ダメな人を排除していった方が、良い結果を産まないかな?・・とは思うのですが、(人事等の)権限はないけど責任ばかりあるのが日本のマネージャさんだから、仕方がないことなのかもとも思いました。


* * *


ただ、このやり方は(技術者への信頼の有無という大事なことのベクトルが逆だという点を除けば)、伝え聞くところの 古きよき Smalltalk プロジェクトの changeset をつかったチーム開発に似ています。

Smalltalk 環境では、その環境中で行った修正差分が changeset として取り出せるので、各メンバーの changeset を一日の終りにマージ係がマージして、次の日にそのマージしたイメージから全員が作業を始める・・みたいなことをしていたそうです。これと表面的な手続きが似てるなーって思いました。

このエピソードを聞いた当時、わたしは CVS や VSS を使っていてコード管理といえば 集中リポジトリ管理 & {ロック OR 機械マージ} と刷り込まれていたので、この Smalltalk の話を聞いたときに正直「なんとも危くもめんどくさい手順だなぁ」と感じました。

・・けど、分散リポジトリ管理を理解したとき、「おぉっ、Smalltalk で聞いてたアレっぽい」と思ったりたり。げんきんなわたし。

その387

つづき。

16.深夜にCIを動かして朝一番にチェックする
できるならJenkinsやphpUnderControl継続的テスト環境を用意しましょう。夜中にCIを実行し、翌朝チェックするサイクルを作りましょう。これだけで随分楽になります。

今いる現場は Subversionを使ってるのですが、みんなでガンガン trunk にコミットしちゃうのです。いろんなプロジェクトが共通でつかってるようなものにまで、本当に開発者が勝手にガンガン追加しちゃう。

で、コミットをトリガーに Hudson さんがビルド&自動テストしてくれて、そしてコケると(w

マルチプラットホームなのを開発しているのをいいことに、開発環境に Linux を選んでる人とWindows を選んでる人とか。あと VC++ とか QtCreator とかのプロジェクトファイルや make も入り交じっていて、だからこっちで動いたけどあっちは動かないとかもそこそこよくあることだったり。でも、そうしたら直せばいいじゃんみたいな。

最初は「なんと無秩序な・・」と思ったけれど、意外に上手くまわるもんだなぁと、という実感です。

VSS から Subversion に移ったり、静的型付け言語から 動的型付け言語に移ったりした時によく感じる、ガチガチに管理されていてそれが安心と品質保証だと思っている体感覚を基にする、管理されていない環境に移動したときの不安。

そういうのって、回してみると上手くいくことを理解して、初めて解消されます。体感覚が上書きされるから。

ところが、マネージャさんとかは環境に浸らない(れない)ので、そういう「安心」の体感覚が上書きされず、どんどんシビアに寄っていってしまうのじゃないかな?・・・と、何も根拠のない思いつき。

その388

レノボ、重量1.3kgのAMD E-350搭載モバイルノート - PC Watch

主な仕様は、CPUにAMD E-350、メモリ2GB、AMD A50M Fusionコントローラ・ハブ、320GB HDD、1,366×768ドット表示対応11.6型ワイド液晶ディスプレイ、OSにWindows 7 Home Premium(64bit)などを搭載する。

いや、これ出すんだったらお願いだから ThinkPad X120e を日本でも売ってくださいまし..(T△T