くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

プログラミング言語のはなし13

プログラミング言語のはなし13】
コンピュータが劇的に技術革新したウラで生まれた「闇」とは、「複雑さ」です。

CPUそのものも8ビットCPUから今や64ビットCPUがこの手のひらに収まるスマホに入る発展をし、CPUが扱う命令も多少複雑化してはいるのですが、実はCPUの基本はこの30年間ほとんど変わっていないのです。

複雑化の権化は「OS」です。

この「OS」の存在こそが、コンピュータを利用する者にとっては福音をもたらし、プログラミングしようとする者にとっては闇をもたらした元凶なのです。

...イマイチ伝わりにくいかもしれませんね。みなさんが普段、コンピュータと向き合う時はまずもってこのOS(Windows, Mac)が「ようこそ」と歓待してくれるので、「こんな人間にやさしい機械が悪いハズがない」と思うでしょう。そうです、OSは利用者の利便性を高めるべくこれまでせっせと発展してきました。特に、今では当たり前となったマウスとウインドウで操作するGUI(グラフィカル・ユーザー・インタフェース)によって、コンピュータは本当に誰でも使える機械になりました。

しかし、その「やさしさ」を実現するためには、信じられないほどの処理が水面下で行われているのです。優雅に泳ぐ水鳥がしゃかりきに足で水をかいているように。

80年代当初のマイコンは、OSなんて存在しませんでした。プログラマーとCPUの間を隔てるものは何もないので、プログラミングするためにはCPUと直接対峙することが当たり前だったのです。

そのため、C言語の習得はそれほど苦に感じることもなく、メモリにアクセスする「ポインタ」も難しいと思うこともなく、当然と受け入れることができたのです。

しかし、ある日、プログラマーとCPUの仲を裂く「OS」があらわれたのです。

「今後一切、CPU様に直接話しかけることまかりならぬ。全てはこのワタクシ「OS」を通すように。」

嗚呼...CPUよ...
もう、アナタと直接会うことができないとは...
ああもう、あの頃のことは夢の中へ...帰らぬ思い出...

...なんて感傷に浸っているヒマもなく、プログラマーはOSのことを勉強しなくてはならなくなったのです。どえらい分量の。

これが、今からC言語を学ぼうとする者の障壁となっている「本当の敵」なんです。