どうも,シンプルスターです.
さて!今回はプログラミング入門に続き,コンピュータについて学んでみようと思います.
なぜここに来てコンピュータについて学ぶのか?
それはプログラムの理解が早くなるからです.
切り口は色々ありますが,みなさんはもうC++の開発環境で"Hello, world!"を唱えていますよね.
しかし,あの8行のプログラム,みなさんは一行一行その必要性を説明できるでしょうか?
(星姫)できませーん.
そうです!初心者は「なぜ?」の疑問を持ちながらプログラム言語を読み進めてしまい,多くの方はそこであきらめてしまうのです!
例えば―「ポインタが理解できない!プログラムを考えたくない,嫌いだ,将来仕事で使いたくない!」といった具合です.
私は現在理系の大学院で学ばせてもらってますが,多くの同僚の学生がこれを口にします.(2009年のこと)
結局みんなイヤイヤ勉強して使えるようになってますが「ポインタは理解できるけど,コンピュータとの関係はよくわからない.」といいます.
私の考えは,先にコンピュータとプログラムの関係を学べばプログラムの理解が早くなる,プログラムが好きになるのではないか
という単純なものなのです.
「じゃあコンピュータについて勉強してみようかな?」と少しでも思った方は本レッスンを読んでくれると…うれしいな!
それでは,まずはコンピュータの歴史から (文字が多くなります…テキストとしては失格ですが,許してね)
-------------------------------------------------------------------------------------------------------------------------------
楽をして,高速かつ正確に計算結果を得たい,それは昔から人の願いでした.
電子計算機が登場するまで,歯車とか定規を使って足し算や引き算,掛け算や割り算をする機械が発明されてきました.
「そろばん」もその一つで,中国の漢の時代から実用化されてきました.(歴史ありますよね)
世界で最初の電子計算機は1942年にアイオワ州立大学で作られたそうです.
Atanasoff と Berry の Computer ということで,略して「ABC」と呼びます.
「ABC」は第2次世界大戦中,軍事目的で秘密裏に研究されたものでした.
ちゃんとメモリ(記憶装置)を持っていて,真空管を使った電子回路で計算を行えました.
1948年
が登場します.(20世紀の三大発明のうちの一つです!高校生以上は動作の原理だけでも読みましょう)
真空管にとって代わり,トランジスタが電子回路の素子として活躍します.
ぷしゅう?(耳から煙が…)
そうだなぁ,初心者の星姫にもわかるように簡単に説明すると
歯車や定規を使って機械的にこれまで出来ていた演算を,電気を扱う電子回路に任せることで,超高速で計算できるようになった.
ちゃんと学びたい人のために,わかりやすいサイトを紹介します.(以下,次の太字まで読み飛ばして下さい)
このサイトの U 歴史(概要説明と歴史年表 伝記) → 電気の歴史 と読んでみて下さい.
(短い文章で,電気の語源から現代技術までまとめています…電気に関する人類の軌跡を学べます!)
また, V 電気応用 → 電子計算機の論理回路 → (1)基本論理回路 と見て下さい.(読まなくて見るだけです.)
AND,OR,NOT,NAND,NORと絵を見ると,トランジスタ,抵抗,ダイオードで全て構成されていることに気付くと思います.
つなげたい話として,この3つはウエハと呼ばれるシリコンの薄ーい板に印刷するようにして作ることが出来るのです.
これにより,どれだけ小さく印刷するかが集積率,小型化の話になるのですが,信じられないことに
この問題を機械技術者が恐ろしい速さで解決してしまいました.(コンピュータ技術者も,ここまで速く進歩するとは思わなかったそうです)
機械工,さすがですね…
ステッパーと呼ばれるレンズの化け物のような装置で,回路設計図を縮小して印刷するのですが
光学,力学,振動,材料,熱,流体のエキスパートである技術者たちが,何十年とこのステッパーを改良してきました.
「理論上もうこれ以上小さく作れません」という所まで作り込んでしまい,集積率は限界を迎えたそうです.(そろそろ新技術が出るかも!?)
あとは,回路の設計者がどれだけ素晴らしい設計図を描くかにかかっています.
どう描くと素晴らしくなるのか,まだ勉強していませんが,これまた相当な分野を極めたエキスパートにしか作れないものだと予想してます.
1000人の優秀な技術者で3年間考えた,総ページ3万枚の設計図とかそんなイメージを抱いていますが,実際どうなんでしょう?
最近はマルチコアで,性能向上を目指しているとか聞いてますが,もしかして優秀な一人が手掛けていたりして?
(第011話でコアについて学びます)
ところで,コンピュータは足し算しか出来ないんですよ.
え!そうなの?
足し算だけ? でもパソコンは好きな音楽のダウンロードや
色々Webサイトの閲覧,さらにゲームとかで遊べるじゃん.
まったく,お前は…それじゃ遊びの道具じゃないか!
実はまだパソコンの話をしていません.ここまで,まだ電子計算機の話しかしていないのです.
正確には,基本論理回路を組み合わせた加算回路での足し算しかコンピュータは行えないことを示しました.
(
電気の歴史イラスト館を紹介しただけですが)
しかし,面白いことにその加算回路を組み合わせれば減算,乗算,除算回路が出来て
引き算,掛け算,割り算ができるようになります.(人間は本当に頭が良いですね)
このほかに,データを格納する機能を作り,読み出しと書き込みを行えるようにしました.
これにより,指定した場所から数字を読みだし,演算を行い,結果を指定した場所へ書き込むことが出来るようになります.
これが,コンピュータの本質です.
ここで,パソコンについて考えてみましょう
人間がキーボードで計算命令を入力し,コンピュータは命令通り計算し,計算結果をモニタやスピーカーに出力する.
出力の仕方にも色々工夫があるけれど,「入力→計算→出力」,これの繰り返しを行うシステムがパソコンなんです.
?でも私,今まで計算命令を与えようなんて,考えてパソコンに触ったことないけど.
そう思わせないように,絵を見て,直感的に操作できるシステム,それがGUI (グラフィカル・ユーザ・インタフェース)なのだ.
人とマシンをつなぐ,ヒューマン・マシン・インタフェースとも言います.
OS(オペレーティング・システム)とも呼ばれている,ソフトウェアです.
インタフェース,ソフトウェア…それってプログラムなの?
その通り!人間の直感と,コンピュータの論理の間でクッションのように働くプログラム.
これを通して,我々は今「情報」を得て,そして「知識」に変えようとしているのです.
では次にコンピュータに与える命令について詳しく学んでみましょう.
ええー!?今日は,もう疲れました.また今度で…
そっか…では,まとめます.
- コンピュータは足し算しか出来ない -
このことをきちんと理解して次に進みましょう.
2009/08/24 初記.
2009/08/28 訂正.
2009/09/27 修正.