この記事をシェアしよう!

CS-第1章 コンピュータサイエンスと基本

【CS01-02】コンピューティングの歴史

コンピュータサイエンス第2回目は、コンピュータの歴史についてです。

殆どの人たちが「コンピュータ」と聞くとモニタがあって、キーボードがあって、マウスがある、いわゆるパソコンを思い浮かべるのではないでしょうか?

コンピューティングという言葉は「計算する」という意味です。

つまり、このコンピュータは「計算するもの」という事になります。日本で言うと「そろばん」もコンピュータです。

私たち人類は紀元前からこの計算するもの、いわゆるコンピュータを使っていることになります。

コンピュータができる前にはどのようにに計算していた?

数字が0から9までの10進法が多く使われる理由

最も簡単な計算とはどんな方法でしょうか。これは人の指を使って数える方法です。数字を数えるときには私たちは「指」を使います。人の指は10本あるため、10まで数えられることから10からは次の桁になる、いわゆる「10進法」が最も多く使われます。

桁の事は英語で「digit : ディジット」と言いますが、これは「指」という意味もあります。

ここで「Digital : デジタル」という言葉を思い出してください。これは日常的にも良く使われると思いますが、「指の」とか「数字を使う」という意味があります。医者が指で診断することをdigital examinationと言ったりもします。

コンピュータは計算することから、数字について知ることはコンピューティングのスタートです。日本でコンピューティングというと、多くの人がワープロや表計算などが思い浮かぶかもしれませんが、まずは計算器であるということが理解のスタートです。

計算器具が進化する

指で数える時代の後は、計算器具が登場します。アバカス、いわゆる「そろばん」です。ローマそろばんはバビロニアの時代、紀元前およそ2400年ごろから使われ始めています。

紀元前150年ごろから天文学が発達するとアナログコンピュータが進化していきます。アストロラーベと呼ばれる天体観測用の機器は最古のアナログコンピュータと言われています。

西暦1206年には、発明家であり、天文学者でもあるアル・ジャザリが世界初のプログラム可能な天文時計を開発し、星座の位置や太陽、月の起動などを計算できた。当時動力は水車を利用したアナログコンピュータでした。

スコットランドの数学者ジョン・ネイピアは手動で掛け算や割り算が計算できる「ネイピアズ・ボーン(ネイピアの骨)」と呼ばれるそろばんのような計算器を開発しました。これにより平方根やルートなどの計算も簡単にできるようになりました。

1642年、ブレーズパスカルが自動で計算してくれる仕組みを考え始めました。のちに数学者や物理学者、哲学者となりましたが、当時まだ十代で計算機の研究をはじめました。

パスカルと言えば、もっと有名なのが、「パスカルの原理」「パスカルの三角形」などの科学や数学の基本原理を発見したことでも有名です。

彼が開発したのが「パスカライン:Pascaline」と呼ばれるもので、機械式の計算機としては世界初といわれています。

そしてこのPascalineを改良してかけ算・割り算もできるようにしたのが、STEPPED RECKONERと呼ばれる計算機です。これを開発したのが「ゴットフリート・ヴィルヘルム・ライプニッツ」です。

STEPPED RECKONER Leibnitzrechenmaschine
User:Kolossos [CC BY-SA 3.0], via Wikimedia Commons

二進数の生みの親「ライプニッツ」

私たちは、数字と言えば0~9の10個の数字を使って、9の次で桁が繰り上がって10(いち・ぜろ)となる10進法というものを使っています。先にも述べたように10本の指があったからです。

ライプニッツは新しく「0」と「1」の2つの数字で計算する2進法という概念を発見しました。2進法の発見はコンピュータの発展の基礎になっています。コンピュータは単純な作業を人間よりも速いスピードでこなす事に優れていますが、人間のように臨機応変に柔軟な計算をすることには優れていません。

コンピュータには単純な仕組みが必要で、0と1で、次は3ではなくて桁があがるという単純なものが必要でした。でもなぜ2進法が機械仕掛けのものに優れているか?それは0と1しかなければ、それはスイッチのOFFとONに対応することができるからです。

2進法の事を「バイナリ」と言います。

2進法についてはこの先でまた詳しく出てきますが、概要だけでも簡単に説明しておきましょう。バイナリを知ることでコンピュータに出てくる数字の理由がわかるからです。

2進法は0、1と数えたら次は繰り上がり10(いち・ぜろ)になります。これは10進法では「3」を意味します。コンピュータの世界では2の乗数をよく見かけませんか?

2、4、8、16、32、64、128、256、512、1024、2048

これは、2をかけていくとこのようになります。10進法と2進法の表を見てください。この数字がある場所は2進法でいうと、桁が上がる場所になります。つまり一番大きい桁が1になり他がすべて0になる場所です。

コンピュータの世界でデータを保存する場所、いわゆるストレージと言われるものがこのような桁で増えていくのは、2進法の桁上がりと大きく関係していることになります。(詳しくは本シリーズの中で解説していきます。)

ここでは、2進法がおおよそどういったものなのかを知っていただければ十分です。

Binary Fabshop

劇的に進化したコンピュータの時代

パンチカード機械の時代

1801年ごろから登場したパンチカードも長い間コンピュータの世界で利用されてきました。厚紙でできたカードに穴をあけて、その位置から文字や数字、データを読み込みます。まだメモリやディスクなどのストレージが無い時代、データは紙に記録されて、穴の位置を読み取っていました。

このパンチカードに穴をあけるキーパンチ機とそれを読み取って処理するタビュレーティング機と呼ばれるものの登場によって情報を処理するという作業が飛躍的に伸びました。

IBM社がこのパンチカード技術を商用化したことで民間にも広まっていきました。写真にあるのがパンチするカードと実際に動作するキーパンチ機です(写真はシリコンバレーにあるコンピュータ歴史館に展示されているもの)。

panch-card Fabshop

現代コンピュータの原型ができあがる時代

1940年代ごろから、いよいよ現代のコンピュータの原型となる理論などが確立されていきます。当時は世界各地が戦争下に置かれる状況、いわゆる世界大戦中で、戦争を有利に進めるためにも様々なテクノロジーが発達していきました。

映画「エニグマ」で有名なアラン・チューリングの理論は現代のコンピュータの原型となるものです。

コンピュータは高度な計算を行う時に機械的なプロセスだと処理できない問題を抱えていました。そこでチューリングはテープに格納したプログラムを呼び出して実行することでこれらの計算を解決していくという「万能計算機」理論を打ち出したのです。

しかし、この理論を実現するための機構はまだできあがっていませんでした。これらを実現するために、プログラムとデータをテープなどの記憶媒体に記憶させておき、そこからデータを「メモリ」と呼ばれる一時的に展開する場所に呼び出して実行するという機構を構築したのが、ジョン・フォン・ノイマンです。

現在のコンピュータはフォン・ノイマン型と言われていて、すべてのパソコンはこの形になっています。

まさに今のコンピュータもHDD(ハードディスク)と呼ばれるデータ保管場所からプログラムを呼び出して処理を行うという作業を行っています。

パソコンの登場とアップルコンピュータ

半導体の発展と「パソコン」の時代

コンピュータが劇的に進歩した背景に、理論の構築もありましたが、新しい電子部品の開発も欠かせない事の1つです。

半導体と呼ばれる種類の部品です。

半導体は電気を通したり、通さなかったりする物質です。電気を流したり流さなかったりする仕組みを部品の組み合わせなどでコントロールできるようになりました。

半導体製品の中でも「トランジスタ」と呼ばれる部品はコンピュータの中に沢山入っていて、電気を流したり(ONにしたり)流さなかったり(OFFにしたり)を繰り返して計算していきます。このトランジスタの数がコンピュータの処理速度に大きくかかわっています。

初期のコンピューターはトランジスタが数百個でしたが、その後数十万個、今では数十億個となっていて、1つのチップに集積されるようになってきました。

電子回路が集積化されて、マイクロプロセッサと呼ばれる高度な集積回路も登場し、コンピュータが小型化、低価格化が進みました。それに伴い、研究機関などでしか使われていなかったコンピュータも企業や個人が所有するようになってきました。

個人が所有できるようになったコンピュータはパーソナルコンピュータと呼ばれるようになり、フロッピーディスクドライブを搭載したコンピュータで、ディスクからプログラムを読み込んでメモリ上で動作させ、プログラムを変えるときにはまたフロッピーディスクを入れかえて作業を行ったりしていました。

transistor Fabshop

パソコンを世に広めたアップル

このようにパーソナルコンピューターが市場に出始めたころ、登場したのが現在のApple、「アップルコンピュータ」です。すでにいくつかのパーソナルコンピュータが市場に出ていたといっても一部の個人しか買えないような価格と、操作性だったものをアップルコンピュータは大きく変えました。キーボードと一体型になったデザインで、自宅でもコンピュータを使うというスタイルを世に広めました。

以降アップルコンピュータは操作性やデザイン性などを洗練させたモデルを多数リリースし、コンピュータ業界をけん引してきました。

ここからWindowsが登場するなど、今のコンピュータの時代に突入するわけですが、今回の話で重要な部分はコンピュータというのは「計算するものである」という部分です。

今回歴史を学ぶ中で、マウスやキーボードがついていものがコンピュータでなくて、コンピュータとは計算の手助けをしてくれるものは殆どその呼び方で呼ばれてきたわけです。今のコンピュータももちろん計算をたくさんしています。

皆さんがマウスを何気なく動かしていますが、どの位置にどのようなスピードでマウスの矢印を描いて、移動させるのかなども計算しています。

実は現代のコンピュータは私たち人間に見せるためにものすごい膨大な計算と作業を強いられています。昔のコンピュータは黒い画面に白い文字が出てくるだけの殺風景なモノでしたが、今はきれいな壁紙の上に分かりやすいアイコンがあって、マウスの矢印を動かして指示を送ります。人間がコンピュータに指示を出しやすいように設計されているのです。

また、「バイナリ」という言葉もここでしっかり押さえておきましょう。データはすべて「バイナリデータ」という2進数で保管されています。今後のシリーズでもこのあたりの話がでてきます。

まずは、コンピュータの歴史から概要の部分をふれましたが、今後はより深く掘り下げていきます。

この記事をシェアしよう!