主夫ときどきプログラマ

データベース、Webエンジニアリング、コミュニティ、etc

UNIX設計思想に学ぶ、3つの現代サッカーの楽しみ方 : 【UNIXという考え方―その設計思想と哲学】


このエントリーは「UNIXという考え方―その設計思想と哲学 」のブックレビューです。


UNIXというオペレーティングシステムの設計思想とその哲学について解説されている。
その考え方はアプリケーション開発だけでなく日常の様々な問題解決にもおおいに手助けしてくれる。
それでは現代フットボールに見えかくれるすUNIX哲学との共通点について紹介しよう。


Small is beautiful

フットボールというスポーツの最大の目的はゴールを挙げることだ。しかしプレーの90%以上は直接ゴールとは関係がない。
本当だろうか?ゴールを奪うまでのプロセスを考えてみよう。
ゴールへのスタートは相手ボールを奪うディフェスから始まる。それにより奪ったボールをゴール前に運び、
ラストパスに反応したプレイヤーが相手ゴールにボールを突き刺すことで得点となる。
ボールを奪ったりパスでつないで運んだり、という行為は必要ではあるが
ゴールに直接関係するプレーはフィニッシャーの放つシュート以外にはないのだ。(オウンゴールという天の恵はまれにあるが。)


そして注意深い人は気づいているだろう、シュート以外の行為はゲーム中随所にあらわれるプレーだということに。
パス、トラップ、ダイレクトプレー、デコイラン、一つ一つのプレーだけではゴールを奪うことはできない。味方の間でボールを受け渡すのみだ。
しかしこれらを様々に組み合わせゴールに向かうことで大きなチャンスとなり得点が生まれる。
まさにUNIXの設計思想「Small is beautiful」そのものだ。

小さなプログラムは、単独では大したことはできない。ほんの一つか二つの機能を実行するだけだ。
しかし、それらを様々に組み合わせることで、真のパワーを発揮する。
部分の総和は全体よりも大きくなり、大きくて複雑な作業も簡単に処理できる。

一つのプログラムには一つのことをうまくやらせる

ガットゥーゾというイタリア人選手がいる。
彼は名門ACミランに所属する選手で、W杯と欧州CLの優勝も経験もある成功しているフットボールプレーヤーの一人だ。
しかしそんな彼もテクニック関してはセリエBレベルと言われるほどヘタクソだという。
ではヘタクソ呼ばわりされる彼が、なぜクラブや代表チームでレギュラーに定着し様々な舞台に立てているのだろうか。


ガットゥーゾという選手を語る時、真っ先にでてくる事と言えばフィジカルの強さだろう。
無尽蔵ともいえるスタミナで誰よりもピッチ上を駆け回り、敵の攻撃の芽をことごとくつぶしていく。
そして生まれ持った闘争心がそのプレーに拍車をかけ、狂犬とも呼ばれほどだ。
たとえテクニックが劣ろうとも、それを補ってあまりあるフィジカルの強さでチームに大きな力を与える。
指揮官たちが彼を使い続ける理由はそこにある。


一つの事をうまくやる、それを追求する事で大きな成果を収めることができるといういい例だろう。

最良のプログラムはクストーのレイクフライのように、生涯において一つの事をうまくやるプログラムだ。
ソフトウェア開発者たちが単一機能プログラムを作り上げることだけを追求し続けること、これがいかに難しいかを知ったら驚くかもしれない。

過度の対話的インターフェースをさける

インターフェースとは何か?IT用語辞典では以下のように解説されている。

二つのものの間に立って、情報のやり取りを仲介するもの。また、その規格。「IF」「I/F」の略号で示されることもある。
インターフェースとは|interface|I/F|IF - 意味/定義 : IT用語辞典

ではフットボールにおけるインターフェースとは何だろうか。
フットボールでは選手間でボールを受け渡す。
その時ボールを出す相手、ボールの早さ、タイミングなどを対話によって伝えるだろうか。
そんな事はありえない。そうしている間にボールを奪われあっさりゴールを与えてしまうだろう。


その伝達方法こそ「動き」でありインターフェースだと言える。ボールの動きであり、プレイヤーの動きでもある。
選手は動きによってお互いの意思をやり取りするのだ。
スペースに出されたボールには「走れ」という意思が込められているし、
スピードの遅いパスには「相手を引付けろ」という意思が込められている。
「動き」に対する意味を明確に簡略にして試合に臨む事で、流れるようなパスワークからの得点、
ということを実現できるのだ。

拘束的(対話的)プログラムは、他のプログラムと結合するのが難しい。
UNIXの長所の一つは、プログラム同士が効果的に対話する事にある。

さいごに

今回紹介したもの以外にも様々な定理が存在する。
その本質は「柔軟であり続ける」とういことだろう。
まだ見ぬ未来へのアプローチの一助としてこれらを取り入れてみるのはいかがだろうか。