ソフトウェアの歴史

ソフトウェアとは、プログラム内蔵型デジタルコンピュータのメモリに格納され、プロセッサによって実行される一連のプログラム命令です。ソフトウェアは人類の歴史において近年の発展であり、情報化時代の基礎となっています。

19世紀、エイダ・ラブレスがチャールズ・バベッジ解析機関向けに開発したプログラムは、しばしばこの分野の創始者とみなされます。しかし、この数学者の努力は理論的な域に留まりました。ラブレスとバベッジの時代の技術では、彼のコンピュータを構築するには不十分だったからです。アラン・チューリングは1935年にソフトウェアの理論を初めて提唱した人物とされ、これがコンピュータサイエンスソフトウェア工学という2つの学問分野につながりました

1940年代後半の初期のプログラム内蔵型デジタルコンピュータ向けの第一世代のソフトウェアは、命令がバイナリコードで直接記述されており、主にメインフレームコンピュータ向けでした。その後、家庭用コンピュータの進歩と並行して近代的なプログラミング言語が開発され、アセンブリ言語から始まり、関数型プログラミングオブジェクト指向プログラミングパラダイムへと発展し、利用可能なソフトウェアの範囲と幅は大幅に広がりました

プログラム内蔵型デジタルコンピュータ以前

コンピュータサイエンスの起源

計算という概念は古代にまで遡り、そろばんアンティキティラ島の機械、アストロラーベ、機械式天文時計機械式計算機などの装置が存在していました。[1]アンティキティラ島の機械は、非常に複雑な古代の機械式天文装置の一例です。[2]

しかし、これらのデバイスは純粋なハードウェアであり、ソフトウェアはありませんでした。その計算能力は、その特定の形状とエンジニアリングに直接結びついていました。

ソフトウェアには、現在チューリング マシンと呼ばれている汎用プロセッサの概念と、プログラムを構成するルーチンと数学関数の再利用可能なセットを保存し、個別に開始および停止できるコンピュータ メモリが必要ですが、これは人類の歴史の中でごく最近に登場したばかりです。

最初のコンピュータアルゴリズムは、 19世紀にエイダ・ラブレスが解析機関用に書いたものでルイージ・メナブレアベルヌーイ数に関する研究を機械命令用に翻訳したものです。[3]しかし、これは理論上のものにとどまりました。この二人の数学者の存命中は工学のレベルが低かったため、解析機関を構築するには 不十分でした[要出典] 。

最初の近代的なソフトウェア理論は、アラン・チューリングが1935年に書いたエッセイ「計算可能数とその決定問題への応用」で提唱されました。[4]

これが最終的に、コンピュータサイエンスソフトウェアエンジニアリングという二つの学問分野を生み出しました。どちらもソフトウェアとその作成を研究する分野です。コンピュータサイエンスはより理論的な分野(チューリングのエッセイはコンピュータサイエンスの一例です)であるのに対し、ソフトウェアエンジニアリングはより実践的な問題に焦点を当てています。

しかし、1946年以前は、現在私たちが理解しているようなソフトウェア、つまりプログラム内蔵型デジタルコンピュータのメモリに記憶されたプログラムは まだ存在していませんでした。初期の電子計算機は、配線をやり直すことで「再プログラム」されていました。初期の電子計算機の一つであるENIACは、主に、以前は人間計算機として働いていた女性たちによってプログラムされました。[5] [6]エンジニアはプログラマーにENIACの配線図を渡し、プログラム方法を自分で考え出すことを期待していました。[7]プログラマーとして働いていた女性たちは、ENIACの初公開に向けて準備を進め、デモンストレーション用のパッチパネルを配線しました。[8] [9] [10] キャスリーン・ブースは、バークベック大学で働いていたコンピュータのプログラミングを容易にするために、1950年にアセンブリ言語を開発しました[11]

グレース・ホッパー氏とUNIVAC

グレース・ホッパーはハーバード・マークIの最初のプログラマーの一人として働いた[12]彼女は後にそのコンピュータの500ページのマニュアルを作成した。[13]ホッパーはマークIIで誤動作を引き起こしていた蛾を見つけた際に「バグ」と「デバッグ」という用語を作り出したと誤って評価されることが多いが、 [14]実際には蛾を発見した時点でその用語はすでに使用されていた。[14]ホッパーは最初のコンパイラを開発し、マークコンピュータで取り組んでいたアイデアを1950年代のUNIVACの開発に活かした。 [15]ホッパーはまた、 UNIVACをプログラムするためのプログラミング言語FLOW-MATICも開発した。 [14]同じくUNIVACで働いていた フランシス・E・ホルバートンも、プログラマがキーボード入力を使用できるコードC-10を開発し、1951年にソートマージジェネレータを作成しました。[ 16 ] [ 17 ]アデル ・ミルドレッド・コスとホッパーもレポートジェネレータの前身を作成し​​ました[16]

コンピュータソフトウェアの黎明期(1948~1979年)

クロード・シャノン(1916–2001)は、その論文「通信の数学的理論」の中で、バイナリロジックを用いてコンピュータをプログラムする方法の概略を示しました。その後、初期のコンピュータプログラマーはバイナリコードを用いてコンピュータに様々なタスクの実行を指示しました。しかしながら、そのプロセスは非常に骨の折れるものでした。コンピュータプログラマーは、コンピュータにどのようなデータを保存すべきかを指示するために、長いバイナリコード列を提供する必要がありました。コードとデータをコンピュータにロードするには、スイッチを切り替えたり、カードの所定の位置に穴を開けて、そのカードをコンピュータに挿入するなど、様々な面倒な手順を踏まなければなりませんでした。このような方法では、ミスが発生した場合、プログラム全体を最初からロードし直さなければならないこともありました。

プログラム内蔵型コンピュータがソフトウェアを電子メモリに記憶し、それを初めて正常に実行したのは、1948年6月21日午前11時、マンチェスター大学のマンチェスター・ベイビー・コンピュータでした。トム・キルバーンによって開発されたこのコンピュータは、整数2の18乗 = 262,144の最大の因数を計算しました。大きな試算数から始めて、262,144の割り算を繰り返し、余りが0かどうかを確認します。0でない場合は、試算数を1減らし、この処理を繰り返します。Googleはマンチェスター・ベイビーを「ソフトウェアの誕生」と称し、トリビュートを発表しました。

FORTRANは、1950年代にIBMジョン・バッカス率いるチームによって開発されました。最初のコンパイラは1957年にリリースされました。この言語は科学技術計算において非常に人気を博し、1963年までにすべての主要メーカーが自社のコンピュータにFORTRANを実装または発表しました。[18] [19]

COBOLは、1959年にメアリー・K・ホーズがグレース・ホッパーも参加した会議を招集し、企業間で共有できるコンピュータ言語の作成方法を議論したときに初めて考案されました。 [16]ホッパーのCOBOLにおける革新は、プログラミング言語を記述するための新しい記号的な方法を開発したことでした。[13]彼女のプログラミングは自己文書化されていました。[20]ベティ・ホルバートンは、 1960年に政府印刷局に提出された言語の編集に協力しました。 [21] FORMACは1960年代にジーン・E・サメットによって開発されました。 [21]彼女の著書「プログラミング言語:歴史と基礎」(1969年)は影響力のあるテキストとなりました。[21] [22]

アポロ計画

マーガレット・ハミルトンと、彼女と彼女のチームがアポロミッションのコンピューター用に書いた大量のコードの横。

アポロ月面ミッションは、着陸モジュールのコンピュータをプログラムするソフトウェアに依存していました。 [23] [24] コンピュータは「Basic」と呼ばれる言語( 同時期にダートマスで開発されたBASICプログラミング言語とは無関係)でプログラムされました。 [25]ソフトウェアには、一連のルーチンで構成されるインタープリタと、どのプログラムをいつ実行するかを指定するエグゼクティブ(現代のオペレーティングシステムのような)もありました。 [25]両方ともハル・レーニングによって設計されました[25]以前、米国のSAGE防空システムに取り組んでいたときにソフトウェアの信頼性問題に関わっていた マーガレット・ハミルトンも、アポロソフトウェアチームの一員でした。[23] [26]ハミルトンは、アポロコンピュータのオンボードフライトソフトウェアを担当しました。[23]ハミルトンは、ソフトウェアの操作は単にマシンの一部であるだけでなく、ソフトウェアを操作する人々とも密接に関係していると感じていました。[25]ハミルトンはNASAで働いていたときに「ソフトウェアエンジニアリング」という用語も作りました[27]

アポロ計画で使用されたコンピュータの実際の「ソフトウェア」は、磁気コアに通された電線で構成されていました。[28]電線が磁気コアを通過する部分は「1」、コアの周りを回る部分は「0」を表していました。[28]各コアには64ビットの情報が保存されていました。[28]ハミルトンらはパンチカードに穴を開けることでソフトウェアを作成し、その後、ハネウェル社のメインフレームで処理してソフトウェアのシミュレーションを行いました。[23]コードが「固まる」と、レイセオン社に送られ、磁気コアに組み込む作業が行われました。そこでは「リトル・オールド・レディ」と呼ばれる女性たちが電線の処理に携わりました。 [23] プログラム自体は「壊れない」もので、アポロ12号に発生した落雷にも耐えることができました[28]コンピュータの配線には数週間かかり、その間ソフトウェア開発は停止しました。[29]

ハミルトンはシミュレータを使ってプログラミングをテストしているうちに、人間のミスによってコードが危険なエラーを引き起こす可能性があることを発見した。[23] NASAは、宇宙飛行士は訓練を受けているためミスをしないと考えていた。[30]ハミルトンはシステムクラッシュにつながるエラーを防ぐためのコードを書くことが許されていなかったため、プログラムドキュメントにコードへの注釈を付けた。[23]エラーチェックコードを追加するという彼女のアイデアは「過剰」であるとして却下された。[23]しかし、ハミルトンが予測していた通りのことが、アポロ8号の飛行で起こった。人間のミスによってコンピューターが航法データをすべて消去してしまったのである。[23]

その後、ソフトウェアは、データ・ジェネラルデジタル・イクイップメント、IBMなどのOEM(相手先ブランド供給業者)によってハードウェアにバンドルされ、複数の顧客に販売されるようになりました。当時市場で最も小型のコンピュータであったミニコンピュータを顧客が購入した場合、コンピュータにはソフトウェアがプリインストールされておらず、OEMに雇用されたエンジニアによってインストールする必要がありました。[要出典]

このバンドル契約は米国の反トラスト規制当局の注目を集め、 1969年にIBMを不当な「抱き合わせ」で提訴した。IBMのソフトウェアを入手したい顧客が、そのためにはハードウェアも購入またはリースしなければならないのは反トラスト法違反だと主張した。しかし、長年の審理を経て、米国司法省は「根拠がない」と判断し、この訴訟を取り下げた。[31]

データ・ジェネラル社は、バンドル販売に関連した法的問題にも直面しました。ただし、この件は、競合相手となる企業からの民事訴訟が原因でした。データ・ジェネラル社がData General Novaを発表した際、Digidyne社は、同社のRDOS オペレーティングシステムを自社のハードウェアクローンで使用したいと考えていました。データ・ジェネラル社は、同社のソフトウェアのライセンス供与を拒否し、「バンドル権」を主張しました。1985年、米国最高裁判所は、この事件に関する第9巡回控訴裁判所の判決を確定させることで、 Digidyne対Data General事件と呼ばれる判例を確立しました。ライセンスをDGハードウェアのみに限定することは違法な抱き合わせ契約であるとの判決が下されたため、データ・ジェネラル社は最終的にオペレーティングシステムのライセンス供与を余儀なくされました。[32]地方裁判所は、「はるかに大規模な競合他社が存在するこの大規模でダイナミックな市場において、データ・ジェネラル社が違法な抱き合わせ契約を通じて取引を制限する市場力を有していたと判断する合理的な陪審員はいない」と指摘しましたが、控訴審ではオペレーティングシステムとハードウェアの抱き合わせ販売はそれ自体違法と判断されました。[33]

2008年、Psystar Corporationは、 MacintoshOS Xをプリインストールした無許可のクローン製品を配布したとしてApple社から提訴され、反訴しました。反訴の論拠の一つとして、Data General事件を引用し、Apple社がOS X互換コンピュータ市場を独占的に支配しているという主張がなされました。地方裁判所のウィリアム・アルサップ判事は、20年以上前にData General事件で地方裁判所が下した判決と同様に、関連市場は単一のOS(Mac OS)ではなく、 Mac OSを含むすべてのPC OSであり、Mac OSはより広範な市場において支配的な地位を占めていないと述べ、この主張を退けました。アルサップ判事の判決では、著作権で保護された製品の抱き合わせ販売は常に違法であるというData General事件の驚くべき判例が、その後、Illinois Tool Works Inc.対Independent Ink, Inc.事件の判決によって「暗黙のうちに覆された」とも指摘されました。[34]

パッケージソフトウェア(1960年代後半~現在)

1960年代後半に、個々の顧客向けに「単発」で製造されるものでも、コンピュータハードウェアに「バンドル」されるものでもない、独立してパッケージ化されたソフトウェアを生産する業界が発展し始めました。[35]

Unix(1970年代~現在)

Unixは初期のオペレーティングシステムであり、人気を博し、大きな影響力を持ち、現在も存在しています。現在最も人気のあるUnixの派生版はmacOS(以前はOS XまたはMac OS Xと呼ばれていました)であり、LinuxはUnixと密接な関係があります。

マイクロコンピュータの台頭

1975年1月、Micro Instrumentation and Telemetry Systems社はAltair 8800マイクロコンピュータキットの通信 販売を開始しました。同年後半、 Microsoft社は最初の製品であるAltair BASICをリリースし、愛好家たちはこれらのキットで動作するプログラムの開発を始めました。Tiny BASICはDr. Dobb's Journal誌タイプインプログラムとして掲載され、共同開発されました。

例えば1976年、ピーター・R・ジェニングスはMOSテクノロジー社KIM-1キット用にマイクロチェス・プログラムを作成しましたが、テープドライブが付属していなかったため、彼は通信販売の顧客にソースコードを小冊子にまとめ、顧客はプログラム全体を手入力する必要がありました。1978年には、ケーテとダン・スプラックレンがコンピュータ雑誌でサルゴン(チェス)プログラムのソースコードを公開しました。ジェニングスは後に紙テープの販売に切り替え、最終的にはプログラムを収録したコンパクトカセットに切り替えました。

コンピュータ雑誌からソースコードを入力するのは不便で時間がかかり、たった 1 つの文字を間違えただけで、あるいはさらに悪いことに、文字を印刷し間違えただけで、プログラムが動作しなくなることもありましたが、それでも人々はそうしていました。(光学式文字認識技術は、理論的にはリストを手で書き写すのではなくスキャンして入力するのに使用できたはずですが、当時はまだ広く普及していませんでした。)

1980 年代に市販ソフトウェアの配布にカートリッジカセット テープが普及しても、カセット テープを作って雑誌に添付するよりも安価だったため、無料のプログラム (プログラミング技術を教えるための簡単な教育用プログラムなど) は依然として印刷されることが多かった。

しかし、最終的には次の 4 つの要因の組み合わせにより、コンピュータ雑誌にプログラム全体の完全なソース コード リストを印刷するという慣行は終了しました。

  • プログラムが非常に大きくなり始めた
  • フロッピーディスクはソフトウェアの配布に使われるようになり、その後価格が下がった。
  • 一般の人々がコンピュータを使い始め、プログラムを実行する簡単な方法を望んだ
  • コンピュータ雑誌に、無料版や試用版のソフトウェアが収録されたカセットテープやフロッピーディスクが同梱されるようになった。

商用ソフトウェアの海賊版が急速に流通し始め、商用ソフトウェアメーカーはこれに強い不満を抱きました。マイクロソフトの共同創業者であるビル・ゲイツは、 1976年に「ホビイストへの公開書簡」を発表し、ソフトウェアの海賊版に対する早期の道徳的批判を展開しました。[36]

1980年代~現在

マイクロコンピュータが登場する以前は、成功したソフトウェアプログラムは通常、1本あたり5万ドルから6万ドルで1,000本程度販売されていました。1980年代半ばまでに、パーソナルコンピュータ用ソフトウェアは1本あたり5万ドルから700ドルで数千本販売されるようになりました。マイクロソフト、マイクロプロロータス・デベロップメントといった企業は、年間数千万ドルの売上高を誇っていました。[37 ] これらの企業は、既に成功を収めている製品のローカライズ版でヨーロッパ市場を席巻しました。 [38]

コンピュータの歴史における重要な瞬間は、1980年代にIBM社員のフィリップ・ドン・エストリッジによって公表されたIBMパーソナルコンピュータの仕様でした。この仕様は、瞬く間に世界中のデスクトップ、そして後にラップトップ市場におけるPCの優位性へとつながり、その優位性は今日まで続いています。マイクロソフトは、PC用の最初のオペレーティングシステム( MS-DOS)の開発についてIBMとの交渉に成功し、その後数十年にわたり、MS-DOSとそのアドオン兼後継であるMicrosoft Windowsの成功を通じて、PCの成功から莫大な利益を得ました。交渉に勝利したことは、マイクロソフトの歴史における重要な瞬間でした。

フリーでオープンソースのソフトウェア

フリー・オープンソース・ソフトウェア(FOSS)とは、ユーザーが自由にソースコードにアクセスし、変更し、共有する権利を認めるライセンスの下で配布され、自由に使用できるソフトウェアを指します。このアプローチは、ソースコードが非公開で、ライセンス契約によって使用が制限されるプロプライエタリ・ソフトウェアとは対照的です。FOSSはコラボレーションと透明性を促進し、世界中の開発者とユーザーがソフトウェアの改善に貢献し、ニーズに合わせてカスタマイズし、法的または金銭的な障壁なしに機能強化を共有できるようにします。FOSSの代表的な例としては、Linuxなどのオペレーティングシステム、Mozilla FirefoxなどのWebブラウザ、Pythonなどのプログラミング言語が挙げられます。FOSSの背後にある哲学は、技術革新を推進するだけでなく、多様なニーズに対応できるアクセス性と適応性に優れたソフトウェアの開発に取り組むグローバルコミュニティを育んでいます。

最近の動向

アプリストア

近年、モバイルデバイス(携帯電話やタブレット)向けのアプリケーションは「アプリ」と呼ばれるようになりました。AppleはiPhoneiPad向けアプリの販売をApp Storeに集約することで、アプリの審査と有料アプリの販売額の一部分配を実現しています。Appleは、App Storeの機能を迂回する可能性のあるアプリ(JavaやFlash仮想マシンなどの仮想マシンなど)を許可していません。

対照的に、Android プラットフォームでは複数のアプリ ストアが用意されており、通常、ユーザーは使用するアプリ ストアを選択できます (ただし、Google Playでは互換性のあるデバイスまたはルート化されたデバイスが必要です)。

この動きはデスクトップオペレーティングシステムにも反映され、GNOME Software(Linux向け)、Mac App Store(macOS向け)、Windows Store(Windows向け)が加わりました。これらのプラットフォームは、これまでと同様に非排他性を維持しており、アプリストア外、さらには他のアプリストアからもアプリケーションをインストールできます。

iPhone向けだけでなくAndroid向けアプリの爆発的な人気上昇は、一種の「ゴールドラッシュ」を引き起こしました。一部の有望なプログラマーたちは、一攫千金を夢見て、アプリ開発に多大な時間を費やしました。しかし、現実のゴールドラッシュと同様に、こうした有望な起業家全員が成功したわけではありません。

ソフトウェア開発の形式化

コンピュータサイエンスのカリキュラムの発展は、ソフトウェア開発の向上をもたらしました。これらのカリキュラムの構成要素には以下が含まれます。

  1. 構造化プログラミングとオブジェクト指向プログラミング[39]
  2. データ構造[40]
  3. アルゴリズムの分析[41]
  4. 形式言語[42]コンパイラ構築[43]
  5. コンピュータグラフィックスアルゴリズム[44]
  6. ソートと検索[45]
  7. 数値解析法[46] 最適化と統計[47]
  8. 人工知能[48]機械学習[49]

ソフトウェアがハードウェアに与えた影響

ファームウェアの領域に入るプログラムがますます増え、ハードウェア自体がムーアの法則で予測されているように小型化、低価格化、高速化していくにつれ、グラフィックス プロセッシング ユニットなど、最初はソフトウェアで実行されていたコンピューティング機能の種類がハードウェアの仲間入りをするようになっています。(ただし、コストなどの理由から、ソフトモデムマイクロコードなど、変化が逆の方向に進むこともあります。)

現在、ほとんどのハードウェア企業では、ソフトウェア ツールによってプリント回路基板(PCB) エンジニアの多くのタスクが自動化されているため、ハードウェア デザイナーよりもソフトウェア プログラマーの給与が高くなります[要出典]

コンピュータソフトウェアとプログラミング言語のタイムライン

次の表には、コンピュータ ソフトウェアのさまざまな側面の年ごとの発展が含まれています。

1971–1974

1971197219731974
プログラミング
言語
CDL
KRL
スー
C
INTERCAL
PL/M
Prolog
Smalltalk
SQL
COMAL
LIS
ML
スピークイージー-3
ベーシック
4CLU
グラスプ
ローズ
オペレーティング
システム
12月RSTS-11データジェネラル
RDOS
ソビエトALGOL 6812月DOS-11
コンピュータ
ネットワーク
ウォズニアックの
ブルーボックス
ボブ・メトカーフがイーサネットを開発
コンピュータ
グラフィックス
Newell & Sancha 可視
表面アルゴリズム
CatmullとStraberが
Zバッファを開発
CAD/CAMMCS設立アダム自動ドラフトテクトロニクス 4014

1975–1978

1975197619771978
プログラミング
言語
ABC
Altair BASIC
CS-4
モジュラ
スキーム
Mesa
Plus
Ratfor
S
SAM76
SAS
Smalltalk -76
ブルー
ボーンシェル
コモドールベーシック
FP
アイコン
IDL
レッド
スタンダードMUMPS
イエロー
IDL
Cシェル
HAL/S
MATLAB
RPG III
SMALL
VisiCalc
SQL
オペレーティング
システム
CP/MケンブリッジCAP1BSD2BSD
アップルDOS
コンピュータ
ネットワーク
テレネットパケット
交換
コンピュータ
グラフィックス
EDS設立アンチエイリアシング
ワードプロセッサ
電気鉛筆アップルライター
CAD/CAMソリッドモデリングマクドネル・ダグラスがユニグラフィックス
を買収
CATIAの前身ラスターグラフィック表示

1979–1982

1979198019811982
プログラミング
言語
AWK
アイコン
Modula-2
REXX
Vulcan dBase -II
Ada 80 C (CBASIC
クラス付き)
BBCベーシック
IBM BASICA
ドラコ
ポストスクリプト
スピークイージー-IV
オペレーティング
システム
アタリDOS86-DOSMS-DOS 1
エイコーン MOS
コモドールDOS
コンピュータ
ネットワーク
ユーズネットTCP/IP
コンピュータ
グラフィックス
シリコングラフィック
ス設立
ワードプロセッサ
ワードスター
DG Mini 用WordPerfect
バンクストリート
アップルライター II

WordStar 3.0
WordPerfect(DOS 用)

スプレッドシートビジカルクロータス1-2-3
CAD/CAMIGESバーサキャドダッソー・システムズオートデスク設立

1983–1986

1983198419851986
プログラミング
言語
ABAP
Ada 83
C++
GW-BASIC
Korn Shell
Objective-C
occam
True BASIC
Turbo Pascal
CLIPPER
Common Lisp
古き良きMAD (GOM)
OPL
Redcode
RPL
標準ML
Matlab
フレームワーク FRED
パラドックス
QuickBASIC
フレームワーク II FRED
CorVision
Eiffel
GFA BASIC
Informix-4GL
LabVIEW
Miranda
Object Pascal
PROMAL
オペレーティング
システム
MS-DOS 2
Lisa Office
SunOS 1
MS-DOS 3
システムソフトウェア
Windows 1.0、
Atari TOS、
AmigaOS
AIX 1
コンピュータ
ネットワーク
ARPANETがMILNET
から分離
Novell NetWare
Research In Motion設立
NSFNETは
5台のスーパーコンピュータを接続
コンピュータ
グラフィックス
ATI設立Intel 82786
コプロセッサ
ワードプロセッサ
DOSのワード1Mac用Word 1
DOS 用WordPerfect 4.2
スプレッドシートMac用Excel
CAD/CAMオートデスクが
AutoCAD 1.2、1.3、1.4をリリース
オートキャド2Bentley Systems
パラメトリックテクノロジー
オートリスプ

1987~1990年

1987198819891990
プログラミング
言語
Ada ISO 8652
Clean
Erlang
HyperTalk
Mathematica
Oberon
occam 2
Perl
Self
Turbo Basic
A+
Hamilton Cシェル
Object REXX
Octave
RPG/400
SPARK
STOS BASIC
Tcl
Mathematica
Framework III FRED
Bash
LPC
Modula-3
PowerBASIC
Turbo Pascal OOP
VisSim
FL
AMOS BASIC
AMPL
EuLisp
Haskell
J
Object Oberon
Z Shell
オペレーティング
システム
ウィンドウズ 2.0MS-DOS 4
Windows 2.1x
OS/2
A/UX
エプコウィンドウズ 3.0
コンピュータ
ネットワーク
モリスワームワールドワイドウェブの
始まり
HTML
コンピュータ
グラフィックス
JPEGGIFピクサーの「ティン・トイ」
がオスカーを受賞
オートデスク 3D スタジオ
ワードプロセッサ
MicrosoftはDOSに対応していますPC Magazineが
55個のパッケージをレビュー
WordPerfect 5.1
Windows用Word
Windows 用Microsoft Office
スプレッドシートWindows版 Excelクアトロプロ
CAD/CAM
デネバがCanvas X
AutoCAD 9をリリース
CATIA 3
オートキャド 10
パラメトリックTフレックスVisionary Design Systemsが
AutoCAD 11
ACIS 1 を設立

1991–1994

1991199219931994
プログラミング
言語
GNU E
Oberon-2
Oz
Q
Visual Basic
Python
フレームワーク IV FRED
ターボパスカル
ディラン
Ruby
AppleScript
Brainfuck
K
Lua
NewtonScript
R
トランスクリプト
セルフ
ZPL
CLOS
ANS Forth
ANSI Common Lisp
クレア・
パイク
RAPID
オペレーティング
システム
MS-DOS 5
Linux
Windows 3.1x
386BSD
MS-DOS 6
ニュートン OS
Solaris
AIX 4.0、4.1
コンピュータ
ネットワーク
モザイクウェブブラウザネットウェア4ネットスケープナビゲーター
コンピュータ
グラフィックス
オープンGLエヌビディア設立
ワードプロセッサ
マイクロソフトワークスNovellがWordPerfectを買収
CAD/CAMEDSがユニグラフィックスを買収
CADAMとCATIAの
統合開始
オートキャド 12シンプルなベクター
形式

1995–1998

1995199619971998
プログラミング
言語
Ada 95
ColdFusion
Delphi
Java
JavaScript
LiveScript
PHP
Ruby
Curl
Lasso
NetRexx
OCaml
Perl データ言語
WebDNA
コンポーネント Pascal
E
ECMAScript
F-Script
ISLISP
Pico
Rebol
Squeak
Tea
M2001
オープンソースErlang
Pikt
PureBasic
REALbasic
標準 C++
UnrealScript
オペレーティング
システム
Windows 95
デジタル UNIX
Windows NT 4.0
パーム OS
インフェルノ
Mac OS 7.6
Mac OS 8
Windows 98
Solaris 7 64ビット
コンピュータ
ネットワーク
研究提案

Google設立されました。

モザイクウェブブラウザ
インタラクティブページャー
ネットウェア4ネットスケープナビゲーター
コンピュータ
グラフィックス
ピクサー、「トイ・ストーリー」
後に株式公開
3DfxブードゥーATI レイジプロブードゥーバンシー
ワードプロセッサ
Windows 版 Word 95CorelがNovell
からWordPerfectを買収
CAD/CAMMicroStation高度な
ソリッドモデリング
キャンバス5ISO 13567
AutoCAD 14

ダッソー・システムズ、 Matra Datavision 製品を購入

1999–2002

1999200020012002
プログラミング
言語
D
ゲームメーカー言語
Harbour
XSLT
ActionScript
C#
Ferite
Join Java
Joy
XL
Visual Basic .NET
AspectJ
GDScript
処理
RPG IV
ゴスイオ
オペレーティング
システム
Mac OS X Server 1.0
Mac OS 9
Windows 2000
Windows ME
Mac OS X パブリックベータ
v10.0 チーター
v10.1 プーマ
Windows XP
Windows XP 64 ビット エディション
10.2 Jaguar
コンピュータ
ネットワーク
ブラックベリー 850ネットウェア4ネットスケープナビゲーター
コンピュータ
グラフィックス
S3 サベージ4
GeForce 256
Radeon DDR ( R100 )Nvidia Kyro II
GeForce 3
ワードプロセッサ
サンがスター部門を買収
CAD/CAMプロ/エンジニア2000オートキャド2000EDSがSDRCを買収Unigraphics NX
オートデスクがRevitを買収

2003–2006

2003200420052006
プログラミング
言語
ファクター
ネメル
スカラ
リス
Alma-0
Boo
FreeBASIC
Groovy
Little b
サブテキスト
エイダ 2005
F#
コブラ
リンク
OptimJ
Windows PowerShell
オペレーティング
システム
v10.3 Panther
Red Hat
Enterprise Linux
Windows Server 2003
v10.4 Tiger
Ubuntu 5
Windows XP Professional x64 エディション
コンピュータ
ネットワーク
802.11g
アップルサファリ
Gmail
FacebookがMozilla Firefoxを設立
ブラックベリーパール8100

2007~2010年

2007200820092010
プログラミング
言語
Clojure
ファントム
フォートレス
LOLCODE
Oberon-07
Vala
ジーニー
ピュア
CoffeeScript
Go
イドリス
パラセイル
チャペル
RPGオープンアクセス
Rust
オペレーティング
システム
Windows Vista
v10.5 レオパード
アンドロイドWindows 7
v10.6 Snow Leopard、
Android 1.5「カップケーキ」
、Android 1.6「ドーナツ」、
Android 2.0~2.1「エクレア」
Android 2.2「Froyo」、
Android 2.3「Gingerbread」
コンピュータ
ネットワーク
Google Chrome
クロム
Wi-Fi 802.11n
コンピュータ
グラフィックス
アサシンクリードアップクロス
シミュレーション
『アバター』
が「作品賞」を受賞
ワードプロセッサ

OracleがSunからOpenOfficeを買収
OracleがOpenOfficeをApacheソフトウェア財団
リリース
CAD/CAMシーメンスがUGSを買収

2011~2014年

2011201220132014
プログラミング
言語
ダーツAda 2012
エリクサー
Julia
TypeScript

CryEngine#CryEngine 3 ( BeamNG.drive )

ゾジョSwiftをハックする
オペレーティング
システム
v10.7 Lion
Android 3.x「ハニカム」
Android 4.0「アイスクリームサンドイッチ」
Windows 8
v10.8 Mountain Lion、
Android 4.1.x~4.2.x「Jelly Bean」
v10.9 Mavericks
Windows 8.1
Android 4.3 "Jelly Bean"
Android 4.4 "KitKat"
v10.10 ヨセミテ
Android 5.0「ロリポップ」
コンピュータ
ネットワーク
802.11ac
コンピュータ
グラフィックス
ヒューゴがアカデミー
視覚効果賞を受賞
CryEngine3とその3Dソフトボディ物理

参照

参考文献

  1. ^ Ancient Discoveries, Episode 11: Ancient Robots, History Channel、2014年3月1日時点のオリジナルよりアーカイブ、 2008年9月6日閲覧。
  2. ^ フリース、トニー (2009). 「古代コンピュータの解読:ギリシャの技術が天空を追跡した」 .サイエンティフィック・アメリカン. 301 (6): 76– 83. Bibcode :2009SciAm.301f..76F. doi :10.1038/scientificamerican1209-76. PMID  20058643. 2022年10月15日閲覧
  3. ^ エヴァンス 2018、21ページ。
  4. ^ ハリー、マイク (2005). 『電子頭脳/コンピュータ時代の幕開けからの物語』ロンドン:英国放送協会およびグランタ・ブックス. p. 79. ISBN 1-86207-663-4
  5. ^ エヴァンス 2018、39ページ。
  6. ^ ライト1999、469ページ。
  7. ^ ライト1999年、470ページ。
  8. ^ ライト1999、472ページ。
  9. ^ ライト1999年、473ページ。
  10. ^ エヴァンス 2018、51ページ。
  11. ^ コノリー、コーネリア、ホール、トニー、レナガン、ジム (2018年1月10日). 「コンピュータプログラミングを先導した女性たち」RTE.ie . 2018年11月25日閲覧
  12. ^ スミス 2013、6ページ。
  13. ^ ab Smith 2013、p.7。
  14. ^ abc Gürer 1995、176ページ。
  15. ^ セルッツィ 1998年、84-85ページ。
  16. ^ abc Gürer 1995、177ページ。
  17. ^ 「コンピュータ言語のパイオニア、フランシス・ホルバートン氏が死去」クーリエ・ジャーナル、2001年12月12日。 2018年11月24日閲覧– Newspapers.com経由。
  18. ^ Jean E. Sammet (1969).『プログラミング言語:歴史と基礎』 Prentice Hall, Englewood Cliffs, New Jersey.
  19. ^ RW Bemer (1969). 「アルゴルの政治社会史」 , Annual Review in Automatic Programming, pp 151-237. Pergamon Press, Oxford.
  20. ^ セルッツィ 1998年、92ページ。
  21. ^ abc Gürer 1995、179ページ。
  22. ^ 「コンピュータ当局が発言する」。タイムズ紙。1972年4月9日。 2018年10月13日閲覧。Newspapers.com経由。
  23. ^ abcdefghi Harvey IV, Harry Gould (2015年10月13日). 「彼女のコードは人類を月に送り込み、ソフトウェアそのものを発明した」WIRED . 2018年11月25日閲覧
  24. ^ 「すべてを変えたコード行:アポロ11号、JPEG、最初のポップアップ広告、そして私たちの世界を変えた33のソフトウェア」Slate誌、2019年10月14日。 2019年10月17日閲覧
  25. ^ abcd Mindell 2008、149ページ。
  26. ^ 「マーガレット・ハミルトン」.コンピュータ歴史博物館. 2018年11月25日閲覧。
  27. ^ 「ソフトウェアエンジニアリングを生み出した科学者、マーガレット・ハミルトンに会う」IEEEソフトウェアマガジン | IEEEコンピュータソサエティ2018年6月8日 . 2018年11月25日閲覧
  28. ^ abcd Mindell 2008、154ページ。
  29. ^ ミンデル 2008、157ページ。
  30. ^ ミンデル2008、160ページ。
  31. ^ G. David Garson (2006年1月). 『公共情報技術と電子政府:仮想国家の管理』 Jones & Bartlett Learning. pp. 229–. ISBN 978-0-7637-3468-8
  32. ^ ゲイリー・マイヤーズ (1985年11月). 「抱き合わせ契約とコンピュータ業界:デジダイン社対データ・ジェネラル」デューク・ロー・ジャーナル. 1985 (5): 1027–1056 . doi :10.2307/1372482. JSTOR  1372482.
  33. ^ 「DATA GENERAL CORP. v. DIGIDYNE CORP., 473 US 908 (1985)」。Justia Lawホワイト判事(ブラックマン判事もこれに賛同)は反対意見を述べている。
  34. ^ 「アーカイブコピー」(PDF) 。 2017年1月1日時点のオリジナル(PDF)からアーカイブ。 2016年12月31日閲覧{{cite web}}: CS1 maint: archived copy as title (link)
  35. ^ エンスメンガー、ネイサン (2010). 『コンピューターボーイズが支配する』 MITプレス. p. 55. ISBN 978-0-262-05093-7
  36. ^ ブラッド・ロックウッド(2008年10月13日)『ビル・ゲイツ:デジタル起業家のプロフィール:Easyread スーパーラージ版』(18ポイント増刊)ReadHowYouWant.com、25~26ページ。ISBN 978-1-4270-9149-9
  37. ^ Caruso, Denise (1984年4月2日). 「企業戦略ブーメラン」InfoWorld pp.  80– 83 . 2015年2月10日閲覧
  38. ^ Schrage, Michael (1985年2月17日). 「IBM、欧州コンピュータ市場で優位に立つ」.ワシントン・ポスト. ISSN  0190-8286 . 2018年8月29日閲覧
  39. ^ Booch, Grady (1997).オブジェクト指向分析・設計とその応用. Addison-Wesley.
  40. ^ ピーター・ブラス (2008)『Advanced Data Structures』 ケンブリッジ大学出版局
  41. ^ トーマス・H・コーメン;チャールズ・E・ライザーソン;リベスト、ロナルド L. &スタイン、クリフォード。 (2001) 『アルゴリズム入門』、MIT Press、McGraw-Hill。
  42. ^ ホップクロフト、ジョン・E.ジェフリー・D・ウルマン(1979)オートマトン理論、言語、計算入門
  43. ^ Aho, Alfred V. , Sethi, Ravi , Ullman, Jeffrey D. (1988).コンパイラ:原理、テクニック、ツール. Addison-Wesley.
  44. ^ シャーリー、ピーター(2009)コンピュータグラフィックスの基礎 – 第3版
  45. ^ クヌース、ドナルド(1998)コンピュータプログラミングの芸術:第3巻:ソートと検索
  46. ^ Press, William H.Saul A. TeukolskyWilliam T. VetterlingBrian P. Flannery (2007) Numerical Recipes 3rd Edition: The Art of Scientific Computing
  47. ^ バロン、マイケル (2006)コンピュータ科学者のための確率と統計
  48. ^ ラッセル、スチュアート・J.ピーター・ノーヴィグ(2009)『人工知能:現代的アプローチ』(第3版)
  49. ^ ミッチェル、トム. (1997)機械学習.
  50. ^ Aaby, Anthony (2004).プログラミング言語入門
  51. ^ ウェクセルブラット、リチャード L.プログラミング言語の歴史
  52. ^ Stallings (2005).オペレーティングシステムの内部と設計原則. ピアソン
  53. ^ 黒瀬, ジェームズ; ロス, キース (2005). 『コンピュータネットワーキング:トップダウンアプローチ』 ピアソン.
  54. ^ ウェイン・カールソン (2003)コンピュータグラフィックスとアニメーションの批評的歴史
  55. ^ Ferguson, R. Stuart. (2013) 3Dコンピュータグラフィックスの実用アルゴリズム
  56. ^ Narayan, K. Lalit (2008).コンピュータ支援設計・製造. Prentice Hall

出典

  • セルッツィ、ポール・E. (1998). 『コンピューティングの歴史』 ケンブリッジ、マサチューセッツ州: MIT 出版. ISBN 978-0-262-03255-1– EBSCOhost経由。
  • エヴァンス、クレア・L.(2018年)『ブロードバンド:インターネットを創った女性たちの知られざる物語』ニューヨーク:ポートフォリオ/ペンギン社、ISBN 978-0-7352-1175-9
  • ギュラー, デニス (1995). 「コンピュータサイエンスにおける先駆的な女性たち」(PDF) . Communications of the ACM . 38 (1): 45– 54. doi :10.1145/204865.204875. S2CID  6626310.
  • ライト、ジェニファー・S. (1999). 「コンピューターが女性だった頃」.テクノロジーと文化. 40 (3): 455– 483. doi :10.1353/tech.1999.0128. JSTOR  25147356. S2CID  108407884.
  • ミンデル、デイビッド・A.(2008年)『デジタル・アポロ:宇宙飛行における人間と機械』、マサチューセッツ州ケンブリッジ:MIT出版、ISBN 978-0-262-26668-0
  • スミス、エリカ・E. (2013). 「コンピューティングにおける女性の歴史を通して集合的遺産を認識する」CLCWeb: 比較文学と文化. 15 (1): 1– 9. doi : 10.7771/1481-4374.1972 .
  • ウィキメディア・コモンズのソフトウェアの歴史に関連するメディア
Retrieved from "https://en.wikipedia.org/w/index.php?title=History_of_software&oldid=1317784220"