# 『コンピューティング史』読書会
#### 作田啓倫
## 8章 コンピュータを支配するソフトウェア
p.197-1
- FORTRAN以外にも科学計算用プログラミング言語が使われていた。
- MathMatic…UNIVACのホッパーのグループが開発、プログラミング言語としてユーザに普及
- MADとIT…それぞれ研究者の間で生まれた
- ALGOL…米国とヨーロッパの計算機学会が協力し開発
p.197-2
- しかし、FORTRANが最初の高級言語、標準言語(標準化)として広まった
- その理由を以下に示す
- 教育業界…大学のプログラミング教育でFORTRANが使われたため
- 産業界…別のメーカーのコンピュータを使っている組織同士でプログラムの交換が可能なため
- FORTRANが使えるプログラマが労働市場に出てきたため
p.197-3 - 198-1
- ビジネスの領域で標準化したプログラミング言語がCOBOL(ビジネス用標準言語)
- 産業界、政府ではコンピュータを買い替えるたびにプログラムを書き換える必要があり、そのたびに多額の予算、混乱が起きていた
- 政府は、この問題を解決するための委員会(CODASYL)を立ち上げ、COBOL60を開発
- COBOLは、英語のような文を使用するプログラミング言語フローマティックに大きな影響を受けていた
- 経営陣がコードの内容を簡単に読むことができると自信を持ったことは、文化的にメリットとなった
p.198-2 - 198-3
- コンピュータを製造会社側は、COBOLの取り入れ消極的で独自の言語を使い続けたがったが、政府の政策によりCOBOLコンパイラの搭載を開始した
- それから20年の間COBOLとFORTRANがプログラミング言語界の主流となった
### ソフトウェア請負業者
p.199-1
- コンピュータユーザにとってプログラミングのコストが最も大きく、自分で作るのではなく出来合いのプログラムを使いたいと考えるようになった
p.199-2
- コンピュータ製造会社は以下の二つを提供した
- 個別の産業に合わせたアプリケーションプログラムが提供した
- どの業態でも使う一般的アプリケーションソフトウェアが作られた
- これらはソフトウェア自体は無償で、ハードウェアとセットで販売された
p.199-3
- IBMユーザーのSHARE、UNIVACユーザーのUSEのようなグループでプログラムを交換しあった
p.199-4
- プログラマは高給取りのため会社で雇うことが難しかった
- そこで、コンピュータユーザのためにプログラムを作成するソフトウェア請負の産業が誕生
- このソフトウェア請負の分野は以下の二つに分かれている
- 政府や大企業を顧客にし巨大なプログラムを作成する
- 自社にあったプログラムを必要としているが開発ができない顧客の代わりに作成する
p.200-1
- 巨大システム用ソフトウェアを請け負った最初の会社は国防関係会社ランド(RAND)だった
- 1950年代、システムのためのソフトウェア開発はどの会社も経験しておらず、SAGEのソフトウェア開発の契約がランドと結んだ
- この開発のためにSDC(システム・ディベロップメント・コーポレーション)を設立 > これが最初のソフトウェア請負会社
p.200-2
- SAGE用のソフトウェア開発はプログラマの大学のようなもので米国のソフトウェア産業の礎が築かれた
p.200-3
- ほかにもソフトウェア請負業界で力量があったのはコンピュータ製造会社だった
- 顧客用の特別なプログラムを開発することでソフトウェア製造において市場を独占した
- ex.SABRE航空システム、予約システム、小売業用アプリケーションソフトウェア
p.201-1 - 201-3
- 中規模の会社にソフトウェアを提供する市場も残っていた
- 最初の小規模なソフトウェア請負会社は、CUC(コンピュータ・ユセージ・カンパニー)だった
- 他にもCUCと似たような企業がいくつもあった
p.201-4 - 202-3
- 1960年代はコンピューターの速度は早くなり、サイズは小さくなり、コンピュータの数も桁違いに多くなっていった
- プログラマ数名程度の小さな会社でひしめき合っていた
- そのほかにEDSやマネジメント・サイエンス・アメリカ等の特殊なソフトウェア会社も市場に参入し始めた
### ソフトウェア危機
p.202-4
- ソフトウェア請負企業のおかげでコンピュータをプログラムする際に経験豊富なプログラマに依頼することが可能になった
- 高級言語やプログラミングユーティリティによりバグ発見等の仕事が軽減された
- しかし、1960年代末から「ソフトウェア危機」が起き、それにより電子コンピューティングの技術的、経済的、経営的発展につながる
p.202-5
- ソフトウェア危機の理由の一つは、コンピュータ自体の能力やサイズがソフトウェア設計者が使いこなす能力よりも速く向上したため
- コンピュータの性能は上がっていったがソフトウェア技術はほぼ停滞していたのだ
- これによりソフトウェア開発がうまくいかなかった
P.203-1
- 最悪だったのはIBMのSystem/360のOSだった
- OSによりプログラマは磁気ディスクのどこに格納されているデータを使うのかのような物理的な場所を扱う必要がなくなった
- これにより周辺機器を物理的に扱うプログラムが簡単になった
p.203-2
- 1962年、IBMはソフトウェアがハードウェアを補うのが重要なこのに気づいていた
- そこでのちにBOS,TOS,DOS,OS/360と呼ばれることになるOSの開発が計画された
- BOS(バッチ・オペレーティングシステム)は小規模コンピュータのために書かれたもの
- TOSは中型の時期テープを使用するコンピュータ用
- DOSは(ディスク・オペレーティングシステム)中型から大型のコンピュータ用だった
- 以上の3つは当時のソフトウェア技術の最先端だった
- OS/360はさらに素晴らしい機能が計画されていたが、1960年代に最も有名になったソフトウェアの大惨事となる
p.204-1
- フレデリック・P・ブルックス・ジュニアはOS/360プロジェクトのリーダー
- ソフトウェア工学の提唱者、著書「人月の神話(ソフトウェア開発がどれだけ大変かを説いた名著)」で有名になった
p.204-2 - 204-3
- OS/360の開発が難しい理由は以下の二つ
- 史上最も複雑なシステムの計画だったため開発が難しかった > 大勢のプログラマを必要としたが、かえってこの人海戦術が危機の本質になった
- まだ確立されていない「マルチプログラミング(コンピュータに複数のプロセスを走らせる)」を搭載しようとしていたため→マーケティングの観点から必要だった
p.204-4
- OS/360制御プログラムはIBMプログラム開発研究所で進められた
- 組織は12人の設計者が60人のプログラマを率いて40程の機能を実装
- しかし、特に原因というわけでもなく予定は遅れがちになった
p.205-1
- さらに人材が投入されることになり、プログラマは150に及んだ
- 予定の半年の遅れ、初期テストではかなり遅い、重大な設計ミスより技術的に達成可能が怪しくなった
p.205-2
- 予定より9か月遅れでOS/360のマルチプログラミング版の出荷が公式のアナウンスにより公表
- OS/360がソフトウェアに問題があることは公知となった