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

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

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

エラーが発生しました。

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

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

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

PR
17/211

第17話 方言

翌日とその次の日。


わたしはエマの手伝いと称して村のあちこちを歩き回った。

井戸、洗濯場、村の中央広場、畑、納屋。


目的はただ一つ。


(——できるだけたくさんの魔法を見たい)


エマには「お友達を見つけたい」とでも言っておいた。

内心はもっと別のことを考えていたけれど。


◇◇◇


洗濯場で別のおばさんが洗い物に魔法を使っていた。


「ピューラス」


短い詠唱と、衣服から流れ落ちる薄い泡。

泥や汚れがふっと消えていく。


(……これは洗浄魔法か)


わたしは少し離れたところでしゃがんで手元の小石を弄ぶふりをしながら、観察を続けた。


ピューラスの瞬間、洗濯桶の縁にも模様が一瞬浮かんで消えた。


(……構造を見るんだ)


頭の中でわたしは無意識にその模様を構造として書き起こす。


中心に、対象を「判定」する処理。

「汚れ」と「衣服本体」を分けて識別している。

そして「汚れ」と判定された部分にだけ処理を加える。


(……ヴェントリスと似てる気がする。パターンマッチ寄り——仮にソルム系か)


頭の中でわたしは「観察ノート」にもう一行書き足した。

仮称、と心の中で添えながら。


◇◇◇


次に向かったのは村の畑の脇だった。


兄ヨハンが村の若い男たちに混じって、収穫前の麦の手入れを手伝っている。

その横で年上の男性が土の上に手をかざしていた。


「ソリディス」


短い言葉。

土の表面がわずかに固くなった。

雨で泥濘んでいた畦が、足で踏んでも崩れないくらいに整えられていく。


(……これは土系魔法)


模様を読む。


(——ソリディスは対象の「状態」を変えているように見える)


(——「液体に近い土」→「固体に近い土」へ)


(——状態遷移っぽい)


——前世のプログラミングで言うなら、ステートマシンに近いかもしれない。


(——これはまた別の流儀に見える)


(——仮にヴェルティス系と呼んだ関数型寄りとも、仮にソルム系と呼んだパターンマッチ寄りとも、違いそう)


(——状態を書き換える系。手続き型に近そう)


頭の中で、形だけを追ってみる。ベシリアの括弧とは違う。番号を振って上から順に進む、あの古い書き方だ。


```アヴェ

10 もし ? = 泥 → 20 へ

20 ? を固くする

30 続けて ? も

40 終わり

```


`?` が何かは読めない。でも形は分かる。番号の順に進んで、条件で別の番号へ飛ぶ。

(——仮にアヴェ系と呼んでおこう)


頭の中でわたしは勝手に名前を付けた。

完全な思いつきでもない。

模様の先頭に、エルナの詠唱で聞いた「アヴェ」に似た音の構造が並んでいたから。


(——アヴェ系。ソルム系。ヴェルティス系——仮称が三つになった)


頭の中で何かが爆ぜそうになった。


——胸の奥が熱くて息が荒くなる。


(……古代に明らかに別の流儀で書かれた別の系統の魔法が共存している)


——これはもう間違いない。


(古代に書き手が複数いた)


(——それもおそらく別々の場所で別々の思想で書いた)


(——なのになぜそれが今同じ世界に共存している?)


頭の中でばらばらと新しい疑問が湧き出した。


ベシリアは関数型に見える。

ヴェントリスとピューラスはパターンマッチ寄りに見える。

ソリディスは手続き型に近そう。


——これらはたぶん、別々の「文化」だ。

別々の「設計者集団」と呼べそうな、何か。


(——なら、彼らは何者だったの?)


(——同じ世界で別々に書いていたの?)


(——あるいは別々の世界から持ち寄ったの?)


(——なぜ今それが、村のおばさんに当たり前に使われているの?)


——わたしは口の中で息を止めていた。


「リナ?」


ヨハンの声がすぐ近くから聞こえた。


わたしは慌てて息を吐いた。


「あ、お兄ちゃん」


「お前なんでこんなところでしゃがんでるんだ」


「えーと、その地面に模様があって」


「……地面の、模様?」


ヨハンがわたしの近くにしゃがんで土を見た。


「俺にはただの泥にしか見えないけど」


「うん。お兄ちゃんには気付かないと思う」


(——しまった、口が滑った)


——たぶん、お兄ちゃんの目にも同じものは映っている。


ただ、ヨハンにとってそれは「ただの泥」だ。

ソリディスの結果として固まった土の表面という以上の意味を持たない。

模様らしきものが一瞬浮かんでも、ヨハンは気にも留めない。


(——わたしだけが、それを読もうとしてる)


(——前世でコードと睨めっこしてきた癖が、ここでも働いてる)


「リナ、お前、また変なこと考えてるだろ」


ヨハンがわたしの頭をぽんと撫でた。


「ううん、変じゃないと思う」


「『たぶん』って付け足したぞ、お前」


「……えへ」


ヨハンがふっと笑った。


「お前は本当にお前だな」


——その言葉が、またわたしの胸の奥をちくりと刺した。


先日、父が言った「お前は不思議な子だ」。

魔力検査の日に父と兄が言った「お前はお前だ」。


——わたしは本当に「わたし」のままで、ここにいる。


(……うん、わたしはわたしだ)


立ち上がろうとしてよろけた。

八歳児の足でも、長時間しゃがんだあとはやはりすぐには立ち上がれない。


ヨハンが笑って、わたしの手を引いてくれた。


◇◇◇


家に戻りながら、わたしは頭の中で整理していた。


(仮称、三つの系統)


(——ヴェルティス系: 関数型寄り。ベシリア、アクシリア)


(——ソルム系: パターンマッチ寄り。ヴェントリス、ピューラス)


(——アヴェ系: 手続き型寄り。ソリディス)


(——どれも、わたしが仮にそう呼んでいるだけ)


(——攻撃魔法も治癒魔法もたぶん、また別の系統がある)


——古代にいくつもの「言語」があった。


それはまるで前世の世界でいくつもの言語体系が別々に発展してきて、現代の人間が何の不思議もなく互いに文法の違う言語を混ぜて使っているような、


——そんな混在の世界。


(——そして誰もその「混在」に気付いていない)


(——気付いているのは、たぶんわたしだけ)


(——前世の経験があるから、それを「言語の違い」として読み取れる)


それは孤独でもあった。

そして同時に——たぶんわたしのこれからの仕事だとも思った。


「リナ、お兄ちゃんと何話してたの」


家の前でエマがわたしたちを待っていた。


「あの地面に模様があって」


「ええ、模様?」


「うん、お母さんは気にも留めないかもしれないけど」


エマはふっと笑った。


「リナの見てる世界は、いつも面白そうね」


——その一言は、わたしの胸の奥をもう一度温めた。


近いうちにグスタフ親方の工房に行く日が来る。

そこでまた新しい魔法に出会えるかもしれない。

たぶん、また新しい「系統」が見つかるかもしれない。


頭の中で、わたしはもうその日の予定に夢中になっていた。


■あとがき・解説


タイトル「方言」が示すとおり、この世界の古代魔法には書き方の流派がいくつもある――そのことがリナの中ではっきりと言葉になる回でした。第7話で祭司エルナの儀式から見え始めた予感が、ここで一つの形になります。今回は「方言」の正体に潜むプログラミングの考え方をご紹介します。


■この話で出てきた言葉


■「プログラミングパラダイム」


ここでいう「方言」は、前世の言葉でいえば「プログラミングパラダイム」、つまり「コードの書き方の流派」に近いものです。リナは数日の観察で、目の前で使われている生活魔法を三つの系統に仮分類しました。


・ヴェルティス系(関数型寄り): ベシリア(着火)、アクシリア(水生成)。一回の入力でぱっと一つの結果を返す。数学の式のような書き方。

・ソルム系(パターンマッチ寄り): ヴェントリス(送風)、ピューラス(洗浄)。「これはどれに当てはまる?」と対象を仕分けてから、対応する処理を返す書き方。

・アヴェ系(手続き型寄り): ソリディス(土固化)。対象の状態を、書き換えて書き換えて変化させていく書き方。


前世の世界で言えば、関数型は Haskell や Lisp、パターンマッチは Erlang や OCaml、手続き型は C や Pascal にあたります。リナの目には、村のおばさんたちが当たり前に唱える生活魔法が、三つの異なる言語で書かれたコードに見えていたのです。


■「状態遷移ステートマシン


「状態が変わることで動作が決まる仕組み」を、プログラミングの世界では「ステートマシン」または「状態遷移機械」と呼びます。たとえば信号機は「青→黄→赤→青」と状態を変えていきます。今が何色かによって、車も歩行者も振る舞いを変える。土が「液体寄り」から「固体寄り」へ書き換わるソリディスは、まさに状態遷移そのものです。


■「混在の世界」


リナはこの発見の先で、もう一つ別の戸惑いに行き着きます。「なぜ別々に書かれたはずの魔法が、今この村で共存しているのか」。前世でも Python と JavaScript と Rust が一つのプロジェクトに混在することがあります。古代魔法もたぶん、似た歴史を辿った――そう気付いたところで、リナは「気付いているのはわたしだけ」という孤独にも触れます。


「リナの見てる世界は、いつも面白そうね」というエマの一言が、その孤独をそっと包んでくれる。


技術者にとって、自分の見ている景色を否定しないでくれる人は何より貴重です。


次の話もお楽しみに。


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

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

↑ページトップへ