表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
私の中の怪物  作者: 寿和丸
2部 少年から大人へ
25/89

25話 プログラミング言語

その後しばらくは、父親と雑談になったが、次男の伸二が割って入って来た。

「あのう、僕もパソコンをやっていて、ゲームが好きなんですが、ゲームをプログラミングしているのはすごいと思います。僕もプログラマーを目指したいのですが、プログラム言語は何が良いと思いますか?」今まで、勇次の収入や会社のことには全く興味を示さなかったのだが、勇次がゲームソフトを作っていると聞いて、我慢しきれなくなったようだ。

「そうですね、プログラム言語と言っても、一杯種類が開発され、どれも一長一短あります。

僕の知っている方で、昔からのパソコンマニアで、ずーと、Basicしかやって来られかった人がいます。その人が、今v-Basicを手に入れてすっかり達人級のプログラミングをするようになっています。それを見ると、プログラミング言語は何がよいか、云々するよりも、どれか一つの言語に精通した方が良いように見えます。」

「そういうものですか。それで、僕もプログラムをやろうとすれば、学校に行って勉強したほうがいいですか?梶谷さんはどうしてプログラム出来るようになったのですか?」

「あのう、僕達は兄弟になりますし、僕は年下ですから溜め口でいいです。それで、僕は子供の時に遊びで円や楕円、モニター表示やプリントアウトできないか、考え、プログラムして見ました。意外と簡単にできたのでそれからサイクロイド曲線など、複雑な物に手を出したのです。そのうち、それに飽き足らなくなって、おもちゃのロボットを制御しようとして、どんどん深みに嵌ってしまっただけです。」

「えっ!子供の時に遊びでプログラムしていたんですか?今、どんなプログラム言語を使ってますか?」

「僕はc言語でプログラムしていますが、とても理解できていると思っていません。まだだなといつも思っているのが実情です。」

「おい、おい。難しい話をしないでくれ。梶谷君。できれば私にもパソコンのプログラミングについて分かるように説明してくれないか。実は息子達に聞いても難しい単語を話すばかりで何をいているのかさっぱりなんだ」父親が割り込んで来る。


「うーん。そうですね。お父さんも、お母さんも、今の家庭電器、炊飯器や洗濯機などにも小さなコンピューター(マイコン)が入っているのをご存知ですね」

「ええ、まあ」

「洗濯機のボタンを押して、設定するだけで、水が自動的に注がれ、洗濯し、すすぎ、脱水して、中には乾燥までしてくれる物まであります。昔は人が一々、水を入れ、タイマーをセットし洗濯始動ボタンを押し、終わったら脱水機に移し替えていましたよね」

「ええ、そうだった。皆、昔は二槽式で洗濯槽と脱水槽に分かれていた。それを一つにした物が発売されたが、タイマーを回して時間を決めていたものだよ。」

「今の洗濯機にはマイコンが入っていて、洗濯する衣類の重さを量り、水量と洗う時間を決めます。何時すすぎをして、何時脱水するかまでやってくれています。洗濯機にその動作を指示しているのがマイコンで、そのマイコンの命令書にあたるのがプログラムです。今の家庭電器を始め、多くの機械にはマイコンが組み込まれ、そのマイコンに命令を教え込むのがプログラミング言語と呼ばれるものです」

「なるほどな。そう言われれば、今の機械は本当に便利になっている。それを全て決めているのがプログラムと言うわけか」

「ええ、そうです。ここからは少し話が専門的になりますが、コンピューターの世界は“0”と“1”の数字しかありません。その二つの数字の羅列だけでマイコンは動いています。勿論、この数字の羅列を見ただけで、コンピューターにどんなプログラミングされているか、判断できる人間なんていません。それを、もう少し、人間に分かりやすくしたのが機械語です。これは“0”と“1”の羅列を「行け」「戻れ」「待て」などとコード化して表したものです。」

「うん、うん。そうか」

「ところが洗濯機などのように単純なことをさせるなら、機械語だけでもプログラム書けますが、もっと複雑なことをさせようとするととても機械語で手に負えなくなりました。昔は機械語で直接、マイコンに書き込みしていましたが、今ではそれをやる人は見かけません。機械語だけでプログラムしようとすると、煩雑になり過ぎるからです。

例えば、ロボットに買い物に行けと命令するとします。機械語でこれを書くと、まず右足を出し、次に左足を前に出して歩かせ、それから手を伸ばしてドアを開かせて家を出ることから始まります。歩くことからしても、膝、足首、腿などの関節に相当するモーターをどれだけ回転させるかを決めてやることになります。機械語ではこれらを一々、書き込まないといけないのです」

「うわー、それは大変だな」

「ええ、今の家庭にある電気製品のマイコンを機械語でプログラムするのはほとんど不可能に近いです。そこで登場したのがプログラミング言語と言うもので、機械語をよりもっと人間に分かりやすく、効率的にしたものです。ロボットのどこのモーターをどの順番に何回転させる、動かすようにするのは、各モーターを制御しなければならなくて大変です。だけど“歩け”という命令だけで、右と左足のモーターをいつの時点で動かすかかをあらかじめプログラムで構築しておけば、後はその構築したプログラムを呼び出すだけで良くなります。もっと、複雑にプログラムを構築すれば、“買い物に行け”という命令も作ることができます。プログラミングを階層、複雑化すれば、いちいちロボットに細かな指示をしなくても買い物してくれるようになります。

まあ、現在において、買い物をする高度なロボットは出現していませんが、将来“鉄腕アトム”のようなロボットが出来ても、そこに使われるのはマイコンで、プログラムによって動くのは間違いなしでしょう。」


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ