プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

コンピュータの基本が分かるといいことがあるよ

 『プログラムはなぜ動くのか』は、プログラマ向けの月刊誌である日経ソフトウエアに1年間(2000年7月号〜2001年6月号)連載していた記事を書籍化したものです。この記事の企画は、当時の編集長からの発案です。「最新技術ばかりでなく、基礎を学ぶ記事が1つぐらいほしい」とのことでした。これまでになかった記事です。

矢沢久雄のソフトウエア芸人の部屋 - ライター矢沢の著作日記[1] 『プログラムはなぜ動くのか』はなぜ売れ...:ITpro


そういえば、この本読んだことないな、と思ってさっそく読んでみました。


プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識


いやあ、なんかすごく懐かしい感じがしたよ。マイコン創世記にはこんな本がいっぱい出版されていたなあ。圧縮とか、ちょっと冗長なところもあるけどけど、全体的にはよくまとめられていると思う。コンピュータのハードとソフトの入門書として、いいんじゃないかな。

 「売れる」とも思っていませんでした。「売ろう」という欲もありませんでした。そのため、書籍化のための作業は、とても気軽に行えました。


たしかにこの本が書かれた時代、このような本が売れるとは思えなかったでしょうね。でも、そこには確かにコンピュータの利用者のニーズがあったと思うのです。

この本が売れた理由

 「雑誌連載時にマーケティングが済んでいた」と経済評論家のようなことを言う人もいます。連載時の読者アンケートハガキを集計すると、毎回それなりに好評であることがわかっていました。基礎をテーマとした書籍を読者が求めていたのです。


この本が売れた理由。いろいろな要素が重なったからではないかと思うけど、yasuhoの考える一番の理由はみんなコンピュータの中で何が行われているか知りたかったからじゃないかなあ。


マイコンが出始めの頃は、「パソコンを使う」と「プログラミングをする」がほぼ同義語だったので、プログラムが動く仕組みは多くの人が知っていた。システムもアプリケーションも規模も小さかったし、ソースもほとんど公開されていたから、全体を把握することも、ちょっと修正したりすることも難しくなかったんだよね。


今日のパソコンはアプリケーションはもちろん、OSの規模も巨大。基本的にソースは公開されていない。いや、オープンソースだって、全容を把握することは容易なことじゃない。アプリがどんなふるまいをするかは何となく分かるんだけど、実際には何が行われているのかは、ソフトウェアを信じるしかない・・・


アプリはどうやってこの機能を実現しているの?OSは何をしているんだろう。どうやって周辺装置を制御してるのかな。全部は分からなくても、せめて基本的な概念は押さえておきたい。そんなふうに考えた人が多かったのではないかとyasuhoは思うのです。

基本を学ぶということ


コンピュータの性能は年々高くなり、ソフトウェアから見たハードウェアはどんどん仮想化されていっています。TVが映る原理を知らなくてもTV番組が楽しめるように、コンピュータも基本原理を学ぶ必要はどんどんなくなってきています。それは正しい方向であると思うし、否定するつもりはないです。


けど、ぼくは古い人間なので、やっぱり基本原理ぐらいは誰もが知っていて欲しいと思う。以前述べたように、教育ですら基本より使い方を重視するっていう方針はどうなんだろう、って考えちゃう。


誰もがプログラミングを好きになれるとは思わないけど、プログラムの原理や考え方が理解できると、使い方が広がる可能性があるんだよね。別にプログラムを書かなくても、例えば毎回手動で操作している作業をバッチファイルで自動化したり、より複雑な計算をExcelのマクロで実現したり。誰かが作ったソフトを使うだけじゃなく、自分で新しい機能を作り出すって、楽しいと思うんだ。


そして、それをきっかけにプログラマが増えてくれたら、今の仕事が楽になったりしないかな。>そこかい(笑)




過去の関連記事:
yasuhoの隠れ家 - 「情報」を学習する前に