第45話

「まずこれが」と、ゆあんは一番下に書いた四角を指した。「CPU。処理装置。昔のCMであった『Intel入ってる』のやつ。ここが計算をする。計算っていうのは、プログラムの実行。ここまではバカでもわかるよね?」

「はーーーーーーーい、わかりますうーーーーーー」


 言外の意味を大量に込めた喋り方で、優が答える。ゆあんはかまわず続けた。


「で、このCPUは、さっきの『print』とかはそのまま理解できない。CPUが受け付けられるのは、1と0だけ」


 四角の脇に、『101010...』とゆあんは書いた。続けて、さっき書かれた『print』から四角へ矢印をつなぎ、その矢印にバツをつける。


「えー、でもさっきprintって書いてあんパンって出てきたのは、なんで? さっきのやつはCPU使ってないの?」


 里々がぽんと質問を出す。


「いや、すべてのコンピューターには必ずCPUがあります。あれもCPUが計算して出力した結果です」

「え、でも……」

「それをこれから言うんで」とゆあんは里々の言葉を途中で切った。「なので、CPUに計算をさせたかったら、その前にプログラムを1と0に変換する必要がある。その1と0の前にあるのがアセンブリ言語」


 ゆあんは『SUB』や『MOV』とという単語を101010...の上に追加した。


「アセンブリ言語は、このイチゼロを人にわかりやすいように表した言語。この『SUB』っていうのは、『SUB A B』みたいに書いて、AからBをマイナスするっていう命令。これはアセンブラっていうものを使えば、イチゼロの、CPUが解釈できるものに変換できる」


 『SUB』から『101010...』へ矢印が引かれた。しかしこの状態でも、黒板の上半分はまだまだスペースが空いている。


「C言語は」と、その空いているスペースに『C言語』とゆあんは書いた。「コンパイルによってこのアセンブリ言語に変換して、最終的に機械語にする。授業でgccって使ったでしょう? あのgccがコンパイラで、アセンブリ言語への変換も機械語への変換もできる」

「あー。覚えがある。あの、gccなんとかってやったの、まずそこのC言語のプログラムをアセンブリ? にして、それから機械語にしてっていうのをしてたのね。それで最後にはイチゼロイチゼロが出てくるのね」


 桃が口をはさむ。ゆあんは何も言わずに頷いた。


「これがC。で、Pythonはちょっと違うルートをたどる」


 Cの横に『Python』と書くと、ゆあんはその下に一つ横長の丸を加えた。


「PythonはCみたいにコンパイルして機械語っていう順序じゃなくて、バイトコードというものに変換される」


 ゆあんは横長の丸に『バイト』まで入れたが、丸が小さくて後が入らなかった。ちょっと考えた後、そのままはみ出させて『コード』と付け加えた。


「で、バイトコードは、Pythonのインタープリタ上で動作する。動作するというのは、Pythonインタープリタが」


「いや、ちょっと。バイトコードっていうのは何? そこが抜けてるんですけど」


 優が声を上げた。ゆあんはチョークの手を止め、嫌そうに「いや、言ったでしょ」と答える。


「『バイトコードというもの』しか言ってないじゃん。それがそもそも何なのかって話で」

「いや、だから」


 またヒートアップしそうになったところに、桃がばっと手を挙げた。


「先生、私ももうちょっと詳しく聞きたいですー」

「あ、私も……」


 二海も、おずおずと賛同した。


「んー……じゃあ……えーと。バイトコードっていうのはここの機械語と、もともとのPythonのコードの中間に位置するコードで……」


 その後も、ゆあんによる解説は続いた。バイトコード、インタープリタ、オブジェクト、バイナリファイル、と単語のオンパレードで、それぞれを飲み込むのはかなり難しかった。


「あー。つまり、最終点のゼロとイチになるまでの道のりが違うから、元の出発点が別の書き方でもいいってわけね」


 優がそう言ったのは、もうとっくに部活動終わりのチャイムが鳴った後だった。とはいえ、二海も納得するまでには同じくらい時間がかかった。


「やっとわかった?」


 チョークの粉だらけになった手をはたき、ゆあんが言った。しかしその声は、


「やば、もうこんな時間だ。早く出ないと閉じ込められちゃう」


 という桃の言葉でかき消された。弾かれたように全員が立ち上がった。急いでパソコンの電源を消し、黒板を消し、電気を消し、鍵をしめ、玄関までの廊下を走った。ばたばたばたと、夕日の差し込む廊下に五人分の足音が響いた。


 駅までの帰り道、五人はあまり話もせず歩いた。二海はぐったりとしていて、あまり喋りたくなかった。様子を伺うと、他の四人も同じらしかった。


「あー。もう喉かわいた」


 坂を下りながら、ぼそりとゆあんはが言った。


「わかる。コンビニ寄ってく?」


 桃が提案し、「行く」と優が乗った。


 通学路のコンビニは、時間の遅さもあって他に生徒がいなかった。二海は自分用に紙パックのりんごジュースを買い、レジに並んだ。ちょうど、優が会計をしているところだった。キャンペーンをやっているらしく、お金を払ったあと紙の箱に手をつっこんでくじを引いていた。


 外に出ると、すでに里々とゆあんが待っていた。ゆあんはコーラを飲み、里々はいちごポッキーを食べている。


「一本いる?」


 自分でも一本をくわえながら、里々が口の開いた箱を差し出した。


「あ、ありがとうございます。いいんですか?」

「いーよー」

「……じゃ、ジュース飲みますか?」

「え、いーの? ありがとー」


 ジュースを渡していると、今度は優が出てきた。ポッキーをうまく抜き取ることに集中していた二海は、優が話すのを耳だけで聞いた。


「あげるー」

「え?」

「何か、当たったから」


 二海がりんごジュースを返してもらったときには、優はすでに一人でコンビニの敷地の端のほうに寄り、ペットボトルの緑茶を飲もうとしていた。ぽきぽきといちごポッキーを食べながら、二海はゆあんの手に缶コーヒーがあるのを眺めていた。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る