| | 1 | = コンピュータ・アーキテクチャシリーズ (Computer Architecture Series) = |
|---|
| | 2 | [http://www.oversea-pub.com/ Oversea Publishing] が刊行する西田 亙の連作。 |
|---|
| | 3 | |
|---|
| | 4 | == 既刊書 == |
|---|
| | 5 | |
|---|
| | 6 | * [wiki:publications/GnuDevelopmentTools GNU開発ツール (GNU Development Tools)] -- 2006年8月30日 初版第一刷出版 |
|---|
| | 7 | |
|---|
| | 8 | == 背景と目的 == |
|---|
| | 9 | 私が初めてコンピュータに触れたのは、1980年春のことでした。当時は、外部記憶装置が極めて高価な時代であり、一般的なマイコン(my computer)にはハードディスクはもちろん、フロッピーディスクすら接続されていませんでした。標準で提供されていた唯一の入出力装置は、カセットテープであり、毎秒60バイトという気が遠くなるほど緩慢な時の流れの中で、プログラムのSAVE/LOADが行われていました。8ビットCPUのクロックは4MHz、標準搭載RAMは16Kバイトでしたから、現在のパソコンと比較すると、クロックは1000分の1の速度、記憶装置にいたっては10万分の1の容量に相当します。 |
|---|
| | 10 | |
|---|
| | 11 | 当時はソフトウェア環境も貧弱であり、電源ONと同時に起動するROM-BASICが利用できるのみでした。ユーザは原始的なスクリーンエディタでBASICプログラムを入力し、モニターコマンドで雑誌に掲載されたゲームの機械語を16進数で入力していたのです。本格的なOSや開発環境は、多くのユーザにとって夢に過ぎませんでした。 |
|---|
| | 12 | |
|---|
| | 13 | 時は流れ、2006年。コンピュータの速度と記憶装置は劇的に進化をとげ、誰もが気軽に購入できるパソコン(personal computer)として広く流通しています。また、PC-UNIXとフリーソフトウェアの登場により、プログラマーは夢の開発環境を無料で入手できるようになりました。昔のように高価な輸入版ソフトウェアを購入したり、後ろめたい気持ちでコピープログラムを使う必要はありません。 |
|---|
| | 14 | |
|---|
| | 15 | コンピュータの有り余る処理能力と膨大な記憶領域、高機能なOSと開発ツール、自由に入手できるソースリスト、高速なインターネット接続環境。かってのプログラマーが夢見た世界は、今まさに実現していることになりますが、桃源郷は本当に到来したと言えるのでしょうか。 |
|---|
| | 16 | |
|---|
| | 17 | 私達を支える環境は、十分すぎるほどに充実しているものの、ハードウェアとソフトウェアは高度に複雑化し、個人の理解できる範囲を大きく超える存在となってしまいました。もはや、コンピュータシステムの全体像を見ることはかなわず、強固なOSは、かってマイコンが許していた初心者による内部操作を無言で拒絶しています。 |
|---|
| | 18 | |
|---|
| | 19 | マイコン時代、高度な応用技を学ぶ場はありませんでしたが、基本を学べる場はいくらでもありました。子供の遊びと同じく、マイコン少年少女達は限られた資源の中、創意工夫を重ねながらプログラムとハードウェアに親しんでいましたし、単純なコンピュータもまた、彼らを受け入れていたのです。 |
|---|
| | 20 | |
|---|
| | 21 | 一転して現在、重厚長大なプログラミング環境を活用した応用技は花盛りですが、基本を学べる場は、消え去ってしまいました。かって、プログラミング初心者が叩いていた門は、堅く閉ざされ、入門者は進むべき道を見失っています。 |
|---|
| | 22 | |
|---|
| | 23 | Computer Architecture Seriesは、この失われた扉を現代に復活させるために誕生しました。Architectureは、本来ハードウェアを指す言葉ですが、私はソフトウェアもまたデータやアルゴリズムから構成される構造物だと考えています。 |
|---|
| | 24 | |
|---|
| | 25 | ソフトウェアとハードウェアは、お互いの構造が調和しながらコンピュータシステムを構成し、両者はシステムプログラミングを通じて結び合っています。Computer Architecture Seriesは、ソフトウェアとハードウェアの接点に触れ、その仕組みを理解し、自らの手で制御することを目標としています。 |
|---|
| | 26 | |
|---|
| | 27 | ''''' GNU開発ツール 序文より引用 ''''' |
|---|
| | 28 | ---- |