第143話 変態
「へ、変態だー!!」
マンスリーマンションの一室で作業をしている新田を見て、翔太はドン引きしていた。
「私には新田がプログラムを書いているようにしか見えないんだけど」
上田の疑問はもっともだ。
彼女は営業であり、プログラミングについての知見はない。
「動画のエンコードとデコードの処理をアセンブリ言語で書いているんだよ」
「日本語でおk」
「ユニケーションでは動画コンテンツを扱っているだろ? その動画は圧縮しているんだ」
「データサイズや通信量を削減するため?」
「そうだな。そして動画データを符号化したり、符号化されたデータを復号化したりすることを、エンコードとデコードと言う」
「符号化?」
「たとえば、『123123123』というデータがあったとして、これをこのまま保存するのは無駄なんだ」
「『123』が3回あるって表現するのね」
「そう、とりあえずこのデータを『3123』とする。実際にはもっと複雑なアルゴリズムなんだけど……このように変換することをエンコードと言う」
「『3123』を『123123123』に戻すのはデコードね」
上田は飲み込みが早かった。
「動画のデータは莫大なので、この処理に時間がかかるんだ。新田は低水準なコードを書くことで速度を向上させているんだ」
「低水準?」
「人間が理解しやすい言語は高水準、機械が理解しやすい言語は低水準と言われる」
「直感的にわかりにくいわね……難易度で言ったら逆に表現したくなるわ」
翔太はこの点について同意だった。
「コンピューターに使われている半導体は、0と1のデータしか処理できないんだ」
「動画も含めたすべてのデータは0と1に変換されるのね」
「さっきの『123』は『1111011』になるんだ。または『01』『10』『11』だ」
「二進数ってことか、人間じゃわかりにくいね」
「あれ? 二進数にすることで連続する値が増える」
「そう、さっきはわかりやすさを優先して十進数で説明したけど、圧縮アルゴリズムはデータが二進数であることを前提として考えるんだ」
「スプレッドシートで使っている式や関数も高水準と言える。
上田、2足す1をスプレッドシートで表現したら?」
「=2+1ね」
「これを低水準なコードにするとこんな感じだ。1は01、2は10として格納される」
翔太がチラシの裏にコードを書き、上田に見せた。
🔢─────
MOV AX, 2
ADD AX, 1
─────✍
「結果は二進数で11となるのか……単なる足し算でも面倒くさいのね」
「しかも、アーキテクチャによって命令も違うんだ。たとえば、PCと携帯電話では違う命令セットを持っている」
「高水準のプログラミング言語はこれらを意識しなくていいのね」
「そういうことだ。低水準な言語はITの現場でもそうそう使われないので、ちゃんと書ける人は極わずかだ」
「さっき、柊も書いていたじゃない」
「まぁ、足し算くらいは」
「要は、新田は機械に近い言葉でコンピューターと会話できる数少ない人間ってことね」
「そういうことだ」
翔動とその子会社であるエンプロビジョンを含めても、アセンブリ言語を扱えるのは新田しかいない。
上田は新田のすごさを理解し始めたようだ。
「新田は
「わ、わかってるわよ……」
上田の報酬はインセンティブがあるため、高い単価でエンジニアを派遣することで収入が上がる。
「そこ、うるさい!」
「「はい、スミマセン」」
プログラマーは集中している時間を邪魔されることを極端に嫌う。
プログラミングは複雑な問題を解決するために高度な思考を必要とする。
集中しているときに邪魔されると思考の流れが途切れ、その問題に関する洞察やアイデアを失う可能性がある。
「それで、エンコードとデコードの処理は速くなりそうなの?」
上田は恐る恐る、新田に尋ねた。
「そうね……この処理単体だけど、30倍くらいは高速化したわ」
「「へ、変態だー!!」」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます