アイデアはコミュニケーションができる環境で一気に発展する ~ UNIXのタイムシェアリングシステム

こんにちは。アイデアに詰まることはありませんか?



創意工夫が活発なコミュニティにはどんな特徴があるのでしょうか。
今は当たり前になって意識されない技術にも、誕生の歴史があります。

『UNIX原典』の中に、タイムシェアリングシステムの話が出てきたのでまとめておきます。
我々が守ろうとしたのは単にプログラムしやすい環境ではなく、まわりと親交を持つことのできるシステムであった。我々は経験上、リモート・アクセスのタイムシェアリング・システムによってもたらされる共通の計算環境の本質は、単にプログラムをキーパンチの代わりに端末に打ち込めるということではなく、コミュニケーションを密にすることができることであると認識していた。
UNIX原典 p.8

手軽に試行錯誤できる

タイムシェアリングシステム(Time Sharing System)は、1960年代に開発された技術で、1台のコンピュータのCPU時間を分割して複数のユーザーで共用するという仕組みです。

1960年代当時、大学や研究機関でもコンピュータは貴重で、使用するにはいちいち申請が必要なことが多くありました。



計算をするには、紙にコードを書いたものを用意してきて、端末を借りている時間に打ち込み、実行してから結果が出てくるのを待つのですが、プログラムにバグがあるとコンピュータを申請するところからやり直しになることも多い、不便な状況でした。

タイムシェアリングシステムがあると、ユーザーの思考時間などのコンピュータにとっての入力待ち時間をアイドリングせずに、ほかのユーザーに利用させることができます。


Kemenyの『BASICプログラミング』でも、コンピュータの利用者を広げることが可能になった重要な技術として取りあげられています。

アイデアの化学反応

しかし、UNIXでのRitchieの記述は、CPUの共有ではなく、記憶領域(ストレージ)を共有することも重視しています。

つまり、それによりコードを共有することの恩恵の重要性を示唆しているようです。

一人ひとりのアイデアは単純なものでも、コミュニケーションが自然発生する環境だと、一気に発展していきます。

UNIX開発期のもう一つの発明にC言語がありますが、これも可読性と可搬性を重要な特徴としています。

ほかのユーザーのコードを使えるようになったわけです。その後のUNIXのコマンド群が爆発的に発展していくことに、タイムシェアリングシステムが与えた影響は大きいのです。