やねうらおさん周辺が大変なことになってる(た?)らしいよ (part3)

討論としてみた場合

テーマ
やねうらお氏はスーパープログラマか否か
賛成
やね氏
反対
pmoky氏

* やね氏は自信のblogで間接的にスーパープログラマであることを否定しているが、ここでは便宜上賛成派として扱います


反対派の主張
pmoky氏のblogに「やねうらおの実装能力」というエントリがありますのでそちらをもって反対派の主張とします。


賛成派の主張
pmoky氏のblogにある2chでの答弁およびやね氏自信のblogの2006/05/14のコメント欄をもって賛成派(実際にはスパープログラマであるという主張はしていませんが)の主張とします。


客観的な判断
反対派について
やね氏の技術について言及している部分はソースコードの提示についてのくだりが主である。
その部分において、やね氏があまりコードを書かない事実は判明したものの、YaneSDKの存在もあるため具体的にどこが「技術レベルが低い」ことになるかの立証ができていない。
また、その後のやりとりでやね氏の技術レベルをはかるための問題を提示しているが、
やね氏側の時間切れでやはり具体的にどうこうというレベルの回答を引き出せていない。
これらの点で主張が弱いという感じをうける。
また、主張している本人自体が「どれだけ技術あるのか俺はしらないし」と発言している以上、この主張自体が根拠薄弱ととられてもいたしかたない。


賛成派について
具体性および物的証拠として(YaneSDK以外は)提出できてはいないもののいくらかの実績があるということを主張している。
また、2ch住人およびpmoky氏の質問に対してはある程度答えている。
この辺りはやね氏の時間の都合もあるらしく現状ではうやむや。
やね氏自信の方針により、答弁の順序に偏りがあるため現状ではpmoky氏の主張を覆すだけの有力な物的証拠はYaneSDKのみ。
私自信はYaneSDKのソースを読んでいないので判断できないが、少なくとも動くものを公開している事実がある時点で、ある程度の技術力を持つことの証と見て良いと思われる。
pmoky氏の主張のように例外や戻り値の使い方に異論がある方もいるようだ。
しかし、私自信のプログラマとしての経験から言わせて貰えば、そんなものは「個人の好き嫌いとか方針の問題でしょ?」というレベルの議論にしか見えない。


結論
どちらにしてももう少し結果が見えるまでは両者ともに主張を裏づけるだけの十分な証拠がないためおあずけといったところか。
ただし、個人的な所感を述べさせてもらえば、YaneSDK.NETという物的証拠を提示している分だけやね氏側が優勢と思われる。
pmoky氏のC#の例外などについての主張は↑にも書いたとおり。


ちなみに私の例外や戻り値についての見解を述べます。

  • エラーコードで分岐するくらいなら例外を投げた方がコードは見やすくなることが多い
  • boolで結果を戻せば良い場合は例外をなげなくて良い(if(hoge())ですむものをtry{hoge()}catch(){}するのはめんどくね?スコープも1つ中に入っちゃうしね)
  • JAVAと違ってメソッドシグネチャに例外を記述できないのは痛いけど言語仕様だからしょうがないよね
  • 本当にクリティカルなシステムであればcatch(Exception)もログ吐き出しなんかに必要なケースもあるからいいんじゃね?(セキュリティの観点からみればそのまま↑にあげて落ちちゃっても致し方ない。暴走したりハングのような状態になるよりはましでしょ?)
  • モジュール境界についてはモジュール内部でとじれるならcatchしちゃえばいい。そもそもモジュール内で例外意識しないってのは無理。Disposingのことも考えないといけないしね。

といったところです。