具志ブログ(β版)

ピキーン!ときたフレーズや画像、動画なんかを俺のフィルタを通して紹介

11.スモール・イズ・ビューティフル2

スポンサーリンク

f:id:gushijiro:20161215172114p:plain

3. 小さなプログラムはシステムリソースにやさしい

システムリソースってのは、資源のこと。

コンピュータプログラムの場合、CPUやメモリなど、他のプログラムとシェアして使うものが多いんだけど、小さなプログラムだと、それらの必要量も小さくて済む。

いわゆる「軽い」ってやつ。

すぐに実行されて、すぐに結果を得ることができる。

逆に大きなプログラムは、それらの資源をどんどん使い込んでいくものだから、他のプログラムが動かなくなるし、そうなりゃ、全体としてのパフォーマンスが悪くなって「重く」なる。

何かをやろうとしたら、砂時計や傘がくるくる回って、待ち続けることになる。

もちろん、資源を豊富に準備したら「重さ」が解消されるけど、そのうち、また「重く」なる。

最初から、「小さく、軽く」を目指す方がいい。

人間に当てはめたら、最低限の環境でも仕事ができるか、ってことになる。

例えば、予算や締め切りなんかね。

そりゃ、予算は大きいに、締め切りは長いに越したことはないが、小さくシンプルに仕事をしてれば、予算、締め切りに影響されずに動くことができる。

大きな視点で見たら、森林や原油などの自然資源も、それらを食い潰さなきゃ生活できないってのは、いつか破綻するだろうな、ってのが見えてくるね。

4. 小さなプログラムは他のツールと組み合わせやすい

プログラムが小さいとやることも小さくなる。

やることが小さくなると、アウトプットも小さくシンプルになる。

そして、アウトプットが小さくシンプルだと、他のプログラムやツールで扱いやすい。

「小さなプログラムは保守しやすい」のと同様に、シンプルな機能は理解されやすい。

これを人間に当てはめるとどうなるか?

シンプルなアウトプットを出してくれる人は他の人(機能をもたらす)と組み合わせやすい。

例えば、ライターさんとカメラマンさん。

歌い手と演奏家。

一人で何役もこなす人が重宝がられるのは確かだけど、一つの仕事にこだわる専門家より、そのクォリティは下がるだろう。

そして、今後、クォリティの低いアウトプットは見向きもされなくなると考えられるね。

なぜかというと、ネットを通じて、そういった機能を提供する人が山ほど出てきたから。

色々とできる器用貧乏よりは、これしかできないけど、クォリティが高くシンプルな機能を提供できる人材こそがより求められるだろう、と。

スモール・イズ・ビューティフルまとめ

未来が予測できない現代では、他人に理解してもらうことも含めて、シンプルな機能を提供すると、生き延びていきやすい。

プログラムも人間も。

だから、なんでもできる大きなプログラムを作ったり、なんでもできる(けどクォリティは低い)多機能な人材になったり、何をやっているか容易に想像できないような大組織よりは、小さく、軽く、シンプルなプログラムを作り、人材となり、他と協力しやすい環境を作っていくことが望ましい。

UNIXの哲学としてね。

ちょっと無理やりっぽいところもあるけど、俺の中ではしっくりときてる。

この人はこれしかできないけど、他の人にはマネできない、って所まで俺はいきたいな。

じゃ、次は2番目の定理を紹介します。

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学