正しく妄想する

プログラムが好きな人は妄想好きだよね。
だって、ホントは1と0の世界である機械に
ポインタだとかオブジェクト化だとかとかいろんな概念を妄想して
妄想の中で機械を動かして楽しんでるんだもの。
もちろん正しく妄想するためには機械の仕組みとか言語仕様とかを、正しく知っていないといけない。
間違った知識で妄想してると逆に害になるから。*1


そういう意味では、SEとかプロジェクトリーダーも"正しく"妄想しないといけないんだよね。
プログラマ(開発者)とか客(運用者)という概念を妄想して、
妄想の中でプロジェクトを動かすのを楽しまないと。
もちろん案件の本当の意味とか実現方式を正しく知ってないといけない。
間違った知識で妄想してると逆に害*2になるから。

*1:ファン(正しい妄想)←→ストーカー(間違った妄想)と同じ関係

*2:できもしないことを言ったり、誰も必要としていないシステムを開発させたりすること

ある日のJavaScriptとJava(第一話)

JavaScriptJavaと略していう人のために、名前は似てるけどこんなに違うんだよって言う話。
今回は、評価基準の違いの話。


ある日JavaJavaScriptが居酒屋に行きました。
JavaScriptは、居酒屋の店員に「生ビール中ジョッキ2つ」と注文しました。
しばらくして、居酒屋の店員は、"大ジョッキ"の生ビールを2つ持ってきました。
店が忙しそうだったので、JavaScriptはワザワザ入れ直してもらうのも可哀想だと思い
そのまま「ありがとう」と言って"大ジョッキ"の生ビールを受け取りました。
店員がいなくなったあとでJavaが、「入れ物(=型)が違うのに何で受け取ったの?」とJavaScriptに聞きました。
JavaScriptは、「中身のビールが同じだからいいじゃない。」と言いました。

違い
Java 型を厳密に見る
JavaScript 型を厳密に見ない

新入社員を妄想族に

すぐに辞めてしまう新入社員の気持ちになってみる。


いつまでも教えられてばっかりでうんざり。
いつまで、こんなおっさんの下にいるんだろう。
将来が見えない。
自分の求めていた仕事はこんなもんじゃなかったんじゃないのか?
→辞める。


こうしてみよう(案)
ある程度教えたら仕事を任せる。
ただし、失敗しても大丈夫なもの。
ただし、本人には失敗したら終わりだと思わせる。
失敗しそうになったら、さりげなく助けてあげて必ず成功させてあげる。
自分ひとりでやってる感をあじわうようにする。
つぎに、来年の新入社員のために仕事をやってもらう。(新人教育の準備)
将来は自分も上に立つ人間に!という妄想を抱かせる。(そんなに簡単じゃないけどな)


全員こんなにかまわないといけない訳じゃないけど、
やっぱ、1年目にちゃんと面倒見てあげないといけないやつもいるんだよなぁ。

細かいことですが

*シャア
http://onlineshop.mb.softbank.jp/wos/html/feature_913SHG.html
ページタイトルがシャー専用...*1
猪木風なのか。そうか。


Firefox
http://oshiete1.goo.ne.jp/qa3163414.html
FFはファイナルファンタジー or フォルティッシモだけだと思ってた。
FirefoxってFxじゃないの?

*1:いつのまにか直ってる

Javascriptの世界と今僕たちが生きている日本は、ちょっと違うんだよ

Satoshiさんのたとえ話を、Javascriptをホントにわからない人に話したら余計に混乱しそうだ。

ちなみに、thisの説明をするときに、「Javascriptのthisは日本語の「僕」みたいなもの」と言ってみるのはどうだろう。

ん〜。どうでしょう(長島茂雄風に)
僕なら、住んでる世界が違うんだよって教えてあげる。


日本では「僕」は、発言を聞いたときに発言を聞いた人が、該当する人へと置き換えてくれるよね。
たとえば、太郎が次郎に向かって「三郎に会ったら『僕に電話して』って伝えといて」と言うと、
次郎が僕=太郎に置き換えてくれる。(「太郎に電話して」に変化)
だから、次郎が三郎に会ったときは「太郎に電話して」と言うんだ。


でも、Javascriptの世界では「僕」(=this)は、実際に動作をするときにしか置き換えないんだ。
Javascriptの世界で、太郎が次郎に向かって「三郎に会ったら『僕に電話して』って伝えといて」と言うと、
次郎は三郎に、そのまま「僕に電話して」って伝えるんだよ。
ここで、「僕に電話して」を聞いた三郎も、聞いた時点では僕を置き換えないもんだから、
いざ三郎が電話する時に(僕=三郎になって)自分に電話しちゃうことになる。


ね、違うでしょ。
だから、外国の人と接している気分でjavascriptコーディングしてあげてください。
異文化交流では、自分の文化と相手の文化の違いを見つめることが深い交流に繋がるから。