すがブロ

sugamasaoのhatenablogだよ

( ゚д゚ )

ソースが読めません

アプリの動きではなくて Ruby のプログラム自体(というかプログラム一般について)なんだけど、このような出来事があった。

後輩「ここが意図しない動きなんですけど」
おれ「まず、ここのシングルトン*1メソッドでどんな値(オブジェクト)が取得できてるかわかる?」
後輩「シングル……トン……?」
おれ「まずは Ruby のシングルトン調べてみ。話はそれからだ」

数十分後

後輩「やっぱりわかんないんですけど」
おれ「リファレンス見てみ。そして読んでみ。」
後輩「そのクラスの唯一のインスタンスを返す。最初に呼ばれたときはそのインスタンスを生成する。(Rubyリファレンスマニュアル - singleton)」
おれ「ということは、Singletonモジュールを読み込んでいるクラスのインスタンスが取れるってことだろ?」
後輩「インス……タンス……?」
おれ「……(まさか)クラスとインスタンスの違いってわかるか?」
後輩「ちが……い……?」
_| ̄|○
おれ「インスタンスってーのは簡単に言うとプログラムで言えば new で作ったヤツのことね。詳しくはちゃんと調べろよ」

というやりとりがあった訳だが(ちょっと脚色しちゃった><)

悲しいけど、この後輩って新人じゃないのよね……。
上記の会話の時にデザインパターンって知ってる? という話をしたけど、言葉を聞いた事あるというレベルだった。
さて、こういう後輩を目の当たりにしておれはどうすれば良いのだろう。

  1. 思っている水準に到達できていないことをズバッと伝える(デザパタを知らないヤツはバカでワーキングプア的な意味合いで)
  2. 知るべきことのヒントを伝えとくだけにする(シングルトンとかだったらデザインパターンとか調べると良いよ、とか)
  3. 自分で殻を破るまで放っておく(期待しながら放置)
  4. あきらめる(期待しないで放置)

とりあえずここ数ヶ月間は2あたりで攻めているわけだがイマイチ手ごたえが無い。
業務が忙しくて(おれほどじゃないけどね!)なかなか自発的に物事を調べるとかできないのはわかるんだが……。

個人的に悩むところは

おれ自身がプログラムとか好きだから、RSSで技術ネタを書いてくれる人の記事を購読したりしてるし、技術ネタを(日常的に)調べるのは別に苦痛でもなんでもないんだけど、それを他人に要求していいものなのかどうかということ。
こういうのを伝えたところで、そこは本人次第だから言ったところでやらない人はやらないと思うんだよなぁ。っていうか、できるヤツはそんな事わざわざ言う必要無いよな……。

*1:Ruby の Singleton#instance の話