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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
魔力ゼロですが、魔法はぜんぶコードなので問題ありません 〜前世プログラマーの少女、キーボードで異世界をデバッグする〜  作者: せい | 健康優良不良プログラマ
第1部 ③村を変える小さな発明

この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
51/211

第51話 読み取る者

翌朝、もう一度ハンドルを回した。


歯車が、ゆっくりと動き始めた。


一桁目の中継が回る。二桁目に繰り上がりが伝わる。

三桁目に繰り上がりが伝わる。四桁目で結果が確定する。


最終的な和の桁が、ぴたりと止まった。


『一〇一〇〇』。


(——20)


前世の数字で読み解いた瞬間、机の前で身体が動かなくなった。


「お父さん」


声が小さく震えた。


「合ってる」


父が機械の出力の桁を、一つずつ指差した。


「最後の繰り上がりが、五桁目にちゃんと出てる」


「うん」


「一桁ずつ、計算してる」


「うん」


グスタフが、作業台の縁から立ち上がってきた。


「もう一回、別の数でやってみい」


入力 A を『一〇〇一』に変えた。Bを『〇一〇一』に変えた。

ハンドルを回す。歯車が音を立てて動く。出力が確定する。


『一一一〇』。


(——9 + 5 = 14)


「合ってる」


グスタフが机に手を置いて、機械をじっと見つめた。


「アルベルト。お前さんの嬢ちゃんは、何を作ったんだ」


父は黙っていた。それから一言だけ言った。


「数を足す機械、らしい」


「足すだけか」


「足すだけ、だ」


グスタフが短く笑った。


「足すだけ、で世の中の計算の半分は終わる」


◇◇◇


その日の夕方、わたしは一人で工房に残った。


父は夕食の支度を手伝いに家へ戻り、グスタフは「明日また来る」と言って帰った。


机の上で、機械が静かに止まっていた。歯車も軸も、回された分だけ少しずつ位置がずれている。明日、また組み直しと点検が要る。


椅子に腰を下ろして、ハンドルから手を離した。


(——動いた)


(——でも、何が動いたんだろう)


頭の中で、不思議な感覚が立ち上がっていた。


達成感はある。けれどそれとは別に、もっと深い場所で、何かがざわついていた。


机の上の機械を、ぼうっと見つめた。


歯車、軸、噛み合わせ。手で組んだ構造。それぞれの歯車は、隣の歯車の動きを受け取って、自分も回る。それだけのことが、四桁の加算を実現していた。


(——でも、わたしが机から離れたら、機械は動かない)


ハンドルを回す人が要る。誰かが力を加えないと、歯車は止まったままだ。設計図はそこにある。歯車もそこにある。なのに、動かない。


——『魔法陣はそのままでは動かぬ』


頭の中で、バルドゥスの声が立ち上がった。


(——あ)


頭の中で、回路の端と端が触れかけていた。


机の上の機械——『設計図』に当たるのは、わたしの頭の中の配線図。『歯車』に当たるのは、目の前の物理的な部品。けれど、それだけでは動かない。


(——『動かす力』が、別に要る)


ハンドルを回す手。それが機械の『動かす力』。


——魔法陣の場合は?


魔法陣は『設計図』。魔石は『歯車』に相当する物理基盤。詠唱と魔力が『動かす力』。


ここまでは前から分かっていた。


(——でも、それだけじゃ、足りない)


指先が机の縁をじりじりと押した。


機械の場合、わたしがハンドルを回す。一段目の歯車が回る。中継歯車を介して二段目が回る。二段目の歯車が動いて、三段目が動く——。


(——でも、二段目が三段目を回すには、二段目の動きを『繰り上がりの伝達』として三段目に渡す『何か』が要る)


机の上で、繰り上がりの軸を指先でなぞった。一桁目の AND の出力が、軸を通って二桁目の入力Bに繋がっている。


その軸は、ただの木の棒だった。何の知能も持っていない。


けれど、その軸が『どの桁の繰り上がりを、どの桁の入力に渡すか』を決めているのは——わたしの設計だった。わたしの頭の中の『配線図』が、現実の木の軸の形に変換されていた。


(——だから、機械は『動く』)


(——わたしの設計図と現実の歯車を、繋いでいるのは、わたしの頭とわたしの手だ)


そこまで考えて、息が一瞬だけ止まった。


——魔法の場合、その『繋ぐ役』を、誰がやっている?


◇◇◇


頭の中で、ものすごい速度で問いが回り始めた。


魔法陣はそこにある。魔石もそこにある。詠唱もある。魔力もある。けれど、それだけでは『動かない』とバルドゥスは言った。


『世界が、それを読み取って動かす』とも言った。


(——世界が、読み取る)


(——わたしが机の上で機械を組み立てるみたいに、世界が誰かの代わりに、魔法陣を歯車に変換している)


(——その『変換する誰か』が、世界の中にいる)


頭の中で、土台がずれたみたいに視界が一段下がった。


——中間層。


前世の言葉なら、それは『インタプリタ』とか『ランタイム』とか呼ぶ。プログラマが書いたソースコードを、機械の動きに翻訳して実行する仕組み。コードと CPU の間に、必ずある層。


それと同じものが、魔法の世界にもある。


魔法陣コード魔石プロセッサの間に、『読み取って動かす何か』がいる。それが、わたしたちの目には見えない。だから、揺らいだとき——わたしたちは『魔法陣はちゃんとある』『魔石もちゃんとある』としか見えない。


(——でも、本当に揺らいでいたのは、その『間』だった)


頭の中で、もう一本の線が引かれた。


プレヴェルティス。エルナと一緒に村中で広めた、あの正規化詠唱。あれは、魔法陣の前に唱えることで、魔石の『下地』を整える働きをしていた。


(——あれは、中間層に対する命令だった)


(——わたしは、知らないままに、中間層に話しかけていたんだ)


頭の中で、すべてのピースが鎖のように繋がっていく。


ベシリアの揺らぎ。プレヴェルティスの効果。バルドゥスの伝承。古代の始祖の眼。


——『世界の根っこに触れた』。


バルドゥスがそう言った。古代の眼の主が、世界の外へ消えたとき。


(——根っこに、触れる)


(——それは、たぶん中間層に直接、命令を書き込むこと)


頭の奥で、冷たい光が灯った気がした。


机の上の機械。歯車が止まったまま、夕陽の光の中で静かに座っていた。


これは、わたしが作った。

わたしが設計図を描いて、わたしの手で組んだ。

だから、動く。


(——魔法陣を作ったのは、たぶん、古代の誰か)


(——その人は、中間層がどうやって動いているかを、知っていた)


(——だから、世界の外へ消えた)


胸の奥で熱と冷気がぶつかった。


(——わたしは、今、その人と同じ場所に立とうとしている)


口に出すのはやめた。


外で工房の窓が一度、軽く鳴った。


◇◇◇


家に戻ったときには、もう陽が落ちかけていた。


エマが台所で粥を温め直していた。ノラは床に座って木の人形と話し込んでいた。普段の景色が、いつもと同じに広がっていた。


「リナ、お帰り」


「ただいま」


椅子に座って、粥の椀を受け取った。湯気が顔に当たって、頭の中で動き続けていた問いが、ほんのわずかに鎮まった。


(——明日、もう一度、機械を回そう)


(——そして、もう一度、考えよう)


(——魔法陣も、機械も、同じだ)


(——その『間』を、誰かが繋いでいる)


口の中で粥が温かかった。


机の向かいでエマが何も言わずに自分の椀を運んできた。


「リナ。お父さんが、嬉しそうだった」


「えっ」


「珍しく、機械の話をしてくれたの」


「……」


「『リナと、面白いものを作っている』って」


エマは少しだけ笑って、粥の椀に口を付けた。


目の奥がじんと温かくなった。


(——お父さんが、面白いと思っている)


(——わたしの作ったものを)


それは、中間層への気付きとは別の場所で、ゆっくりと広がっていく温度だった。


■あとがき・解説


第51話は、四桁の加算機が「動いた」直後、リナが一人で工房に残って、機械を眺めながら大きな気付きに辿り着く回でした。設計図と歯車の間に、繋いでいる「何か」がいる。それは魔法の世界も同じではないか——前世のリナがプログラマーとして当たり前に扱っていた概念が、この世界の魔法の構造と繋がる瞬間。今回はその気付きの中身について、ゆるく解説していきます。


■この話で出てきた言葉


■「インタプリタ」と「ランタイム」——書かれたものを、動くものに変える層


リナが机の上の機械を眺めながら辿り着いた前世の言葉が、「インタプリタ」と「ランタイム」でした。


プログラマーが書くソースコードは、ただの文字の並びです。コンピュータの中の電子回路は、文字なんか直接読めません。なのにプログラムが動くのは、その間に「書かれた文字を、機械が分かる動きに翻訳する仕組み」が挟まっているからです。それを総称してインタプリタとかランタイムとか呼びます。


ソースコード(書かれたもの)と CPU(動く部品)の間に、必ずこの「翻訳する層」がいる。リナはそれを「中間層」と呼んで、自分の机の上の機械と、この世界の魔法を、同じ構造として見直し始めました。


■「抽象化レイヤー」——直接触れない代わりに、安全に扱う


少し言い換えると、これは「抽象化レイヤー」とも呼べる発想です。


たとえばわたしたちが普段スマートフォンを使うとき、画面のアイコンをタップするだけでアプリが動きます。けれどタップから動作までの間には、OS、ライブラリ、ドライバ、電子回路と、いくつもの層が積み重なっている。ユーザーはその層を一切意識しなくていい。下の層を意識しなくて済むこと、それが「抽象化」の意味です。


魔法の世界も同じだとしたら、と八歳のリナは考えます。詠唱する人は、魔石の中で何が起きているかを知らない。魔法陣を描く人も、それが「どう動かされているか」までは知らない。けれどそれでも魔法は動く。動かしているのは、目に見えない「中間層」だ。だから揺らぐときも、本当に揺らいでいるのはその「間」だった——プレヴェルティスの効果も、そう考えれば全部腑に落ちる。


胸の奥で鎖のように繋がっていくピース。バルドゥスの「魔法陣はそのままでは動かぬ」という伝承も、「世界が読み取って動かす」という言葉も、すべてがこの「中間層」を指していたのではないか、というリナの直感です。


■「読み取って動かす」者——機械にもいる、魔法にもいる


机の上の機械の場合、「読み取って動かす」役を担っているのは、リナ自身の眼と手でした。配線図を描いた頭、軸の長さを揃えた手、ハンドルを回す力。それらが揃って初めて、設計図が現実の動きに変換される。


魔法の場合、その役を誰がやっているのか。バルドゥスはそれを「世界」と呼びました。リナは前世の言葉に置き換えて「中間層」と呼びました。


呼び名は違っても、指しているものは同じ場所のはずです。そしてもし「世界の根っこに触れる」ということが、この中間層に直接命令を書き込むことを意味するなら——古代の眼の主が辿り着いた場所と、リナが今、立とうとしている場所は、同じ地平の上にある。


胸の奥で熱と冷気がぶつかる瞬間。けれどリナは口には出しません。粥の椀の温かさと、エマがそっと届けてくれた父の言葉——「リナと、面白いものを作っている」——が、その熱を少しだけ鎮めて、明日の朝に繋いでくれます。


次の話もお楽しみに。


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

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

↑ページトップへ