フィジカルを鍛える意義

「実際にはこんな難しい処理を書くことはないよね」という中で、こういう問題を解くことにどういう価値があるか。
ぼくの考えでは

  • 計算可能な処理と不可能な処理の性質の違いを実感する
  • 計算可能な処理の場合、どういう処理ならどういうプログラムになるかを実感する

というのが大切なんじゃないかと思っています。


同じ問題を解決するのに、プログラムが組めない人ほど難しい処理を書こうとして、プログラムが組める人ほど簡単な処理で解決するという傾向を目にします。技術系MLで非常に高度な処理をしたいという質問を目にすることがありますが、ほとんどの場合は、「こうすればそんな処理必要ないよ」で解決したりしてます。
で、そういうのの原因として「どういう処理がどういう難しさのプログラムになるかアタリがつけれてない」っていうのがあると思うんです。


で、これがシステムの仕様策定のときに深くかかわると思います。
ぼくは、要求を聞いて仕様を決めるときに、本当に大切なことは「計算不可能・計算困難な要望を受け入れないこと」だと思っています。その上で要求を実現していく。
要求として計算不可能な処理や計算困難な処理を受け入れてしまうと、どんな手法を用いたとしても、どんな管理技術を用いたとしても、そもそもシステム化不可能なわけです。でも、人間なら簡単に処理しているので、ぱっと見、システムでも簡単に処理できると思ったりしてしまうんですね。で、実装してみて、実現困難なことに気づく。戻り発生。劇的に。根本的に。
デスマっていうのは能力的に困難なことをするときに起こりやすいと言われるわけですが、実際には、計算不可能なことをやろうとしてるということも大きく影響してる気がします。


要するにね、処理を書く前に決まっている勝負というのがあると思うんですよ。
その勝負を決めるのがフィジカル。
つまり、難しい処理を書かないためにこそ、基礎体力が必要だと思うのです。難しい処理を書くためじゃなくね。


イメージとしては、ロナウジーニョがなんだか最小限にしかボールにさわらずに簡単に相手をかわしちゃってるって感じで*1、簡単で誰にでもできるように見えるスーパープレイを続発してるけど、でもそのためにはバランス感覚が必要で、それを実現するのが内側の筋肉の強さという感じです。ボールをすごく速く蹴ったりすごく遠くに蹴ったりするのに必要な外側の筋肉とは違う、内側の筋肉。
簡単にプログラムを組んでるように見せるための力。

*1:サッカーを詳しく知ってるわけじゃないので、例にだせるのは超有名人