第96話 関西弁の新入部員
※技術的に詳細な話が出てきますが、そこら辺は雰囲気で流してください。
「あのー。Byte編集部ってここでええんでしょうか?」
部室の扉をトントンと叩いた後に、そんな声が聞こえてくる。
この声、どこかで聞いたことがあるような……と出てみれば。
「お。
先日出会った、関西弁の編入生、
「おお!
見知った顔を見つけたせいか、木橋は嬉しそうだ。
「ああ。ミユ……ああ、朝倉のことな、も一緒だぞ」
「夫婦揃って同じ部とは。かかか。リア充してるなあ」
明るい声で笑う木橋。
「まだ夫婦じゃないって。それより、どうしたんだ?」
「あ、ああ。ネットにあるバックナンバー読んだんやけど……」
「何か気になる記事でもあったか?」
「「君にも出来るプログラミング言語作り」って読んで、これは!と思ったんよ」
「そういえば、そんなのもあったのかもしれないな。てことは、入部希望か?」
「ああ。他にも技術系記事多いしな。空気が合いそうやと思ったんやけど」
「ということですが、どうですか、
部屋の奥に呼びかける。
「二学期になって新入部員とは。もちろん、歓迎だ。ちなみに、得意分野は?」
いきなりそれか。ま、俺たちの時も似たようなものだったか。
「理解してくれる人が少ないんですけど……プログラミング言語作り、ですね」
「ほう。それは素晴らしいな。今までに作った言語は?」
「
「それはもちろん。クロージャは最近の言語だと大体あるが、何か特徴でも?」
「マニアックな話になるんやけど。クロージャってヒープ使うやないですか」
「そうだな。普通はヒープを使うな」
なんだか話が通じてしまっているが、俺は置いてけぼりだ。
「あの、すいません。クロージャはわかるんですが、ヒープというのは?」
クロージャは最近のプログラミング言語にはよくある機能だ。
一言で言えば、関数そのものを値として渡し回せる機能だ。
それと、ヒープ、つまり、GCの対象領域と何の関連があるのだろうか。
「
「ええ。名前つけることも多いですが」
lambdaはプログラミング言語Pythonの機能の一つだ。たとえば、
map([1, 2, 3, 4, 5], lambda x: x * 2)
とすると、
[2, 4, 6, 8 10]
というリストが出来る。
「そこは本質じゃないので置いとくとだ。lambdaはつくられた後、どうなる?」
「どうなる?と言われても……考えたことがなかったです」
「まあ、高遠の世代だとそうなるか。平たく言うと、lambdaは普通のオブジェクトで、最終的には
「え。じゃあ、lambda使うたびに、実はオブジェクトを生成してるんですか?」
それは意外だった。
「まあ、そうなるな。で、そこが木橋の話につながるわけだ。でいいか?」
「ええ。その通りですね。さすが部長さん……でええんですよね」
「ああ。部長といっても老人もいいところだが」
「謙遜せんでも。それで、ヒープ使うのはどうも無駄が多い気がするんですよね」
と言って、何やらホワイトボードに図を書き出した。
「たとえば、Pythonでこういうコード書いたとして」
map([1, 2, 3, 4, 5], lambda x: x * x)
なるほど。リストの各要素を二乗するコードだ。
「これは、こう書き換えても等価ですやん」
new_list = []
for x in [1, 2, 3, 4, 5]:
new_list.append(x * x)
確かに、forループでこう書き換えてもこうなるな。
「で、こうすると、lambdaの部分はオーバーヘッドになるっちゅうわけです」
「なるほど。その部分を自動で最適化してくれるということか?」
「話が早い。インライン化なんやも駆使して、結構頑張っとります」
何やら平然とした様子で語っているが、半端なくレベルが高い。
彼は、自分が作ったプログラミング言語で最適化をしてると言っているのだ。
「学部1年とは思えないな。しかし、その話について来れる部員は一部だぞ?」
俊さんとしては、あまりにマニアックな話をされて気後れしたようだ。
「それは諦めとります。本職のプログラマーでもこんな趣味の人は少ないですから」
どこか乾いた声でそういう木橋。確かに、そんな趣味は理解されないだろう。
「スゴーイ」とは言われるだろうけど、本質を理解してくれる人が少ない話だ。
「ならいいが。高遠、案内任せていいか?」
「あ、はい。じゃ、木橋、部室を案内するぞ」
「よろしゅうな」
部室に木橋を招き入れる。
「あ、木橋君!こんにちは」
くるりと椅子を回転させて、ミユがこちらを向いた。
「ああ、朝倉さん。数日ぶり。今、何やっとるんです?」
「ちょっと、バイトのプログラム書いてて」
「調子はどうだ?」
「うーん。だいぶ出来たんだけど、実機がないから」
「あー、そうだな。すぐに実機デバッグできないのが辛いよな」
なんて話し合っていたが。
「あー、悪いんやけど、何してるのか説明してもろうても?」
困惑した様子の木橋。
今、俺とミユがバイトのプログラムを書いていること。
そして、それはハードウェアレベルでの通信モジュールであること。
開発はだいぶ佳境に入ってきていることなどを話す。
「はー、まだ一年やのに、二人とも凄いんやね」
心から驚いた様子の木橋。
「いやいや、木橋のほうが凄いだろ。プログラミング言語を一から作るとかさ」
「そうそう。私も、おもちゃくらいの言語しか作ったこと無いよ?」
それでも、おもちゃくらいの言語を作ったことがあるのが凄いところだ。
「それいうたら、俺のもおもちゃなんやけど。おおきに」
その後も、他の部員がゲームしているところ。
淡々とゲームを作っているところ。
あるいは、麻雀に興じているところなどを紹介する。
木橋は失望してしまわないだろうか。
「というわけだが、どうだ?入りたいか?」
ミユと一緒にいるせいか、同年代の男友達は少ない。
だから、こいつが入ってくれるなら願ったり叶ったりなんだが。
「こちらこそお願いしたいくらいやわ。部員さん、皆濃そうやし」
「それは否定できないな」
「ね」
お互い目を合わせてうなずき合う。
「お二人さん、もうすっかり夫婦って感じやな」
「え?ど、どこが?」
ミユがキョドり始める。
「さっきも視線合わせてなんや意思疎通しとったやん。ほんと羨ましいわあ」
「……」
「……」
そう言われて、お互いきまりが悪くなる。
「とにかく。それなら歓迎だ。これからよろしくな、木橋」
「ああ、よろしうな。お二人さん」
そうして、Byteに、関西弁で少し……いや、かなり尖った新入部員が入った。
それにしても……
(もうお前、すっかり普通に話してるな)
(うん。木橋君は平気みたい。心配してくれてありがと)
(ま、婚約者だからな)
(婚約者だから?)
(いや、そうじゃなくても心配してたけどな)
なんてやり取りを交わす俺たち。
ミユも変わって来ているんだな、と改めて実感した秋の日だった。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます