見出し画像

フィートとインチの計算にイライラして電卓アプリを作ってしまう話 #1:「ハリポタシリーズでのお金の単位か」着想と勉強

厄介なことがある。

日本人がアメリカでエンジニアとして働いている時に厄介なことはなにも言語だけではない。文化が異なる。アメリカで働くともなれば色々なバックグラウンドを持った人達が集まっている。彼らの考え方は皆それぞれ違う。

だが、今回のシリーズはそんな規模の大きな話ではない。文化の一部と言えばそう言えるのだが、ただ単に長さの単位についての話である。

知っている人もいるかもしれないが、アメリカではマイルやヤード、フィート、インチといった長さの単位が使用されている。日本ではヤードポンド法などと呼んでいるが、アメリカで使われているものは "United States customary units" なんて仰々しく名付けられているようだ。これがまったく厄介なのである。

ヤードはゴルフをやったことのある人なら聞いたことがあるかもしれない。ちなみに1ヤードは 0.9144m である。しかし、フィートやインチなんて日本にいて使ったこともないだろう。1フィートや1インチがいくつかなんてことも知らない人も多いのではないだろうか。Wikipedia によるとアメリカの他にイギリス、カナダ、ミャンマー、リベリアでしか使われていないらしい。しかもミャンマーとリベリアはメートル法への移行を表明している。

まあ国別で違う単位を使用するのは認める。それも文化だ。その国や地域の歴史や文化を表すものでもある。そしてそれが使いやすいのであれば何も問題無いしわざわざ他の国や地域の人々が口を出す問題じゃない。例えばもし10インチが1フィートだったらただ単位の名前が違うだけだとも言っていい。それぞれ換算すればいいのだから、まあ英語なんだしそりゃ言い方は違うよねと思って覚えればいい。しかしそれだけじゃないのだ。

まず1フィートは12インチ。まあ12進法のものは世の中に存在する。例えば時計や月日などは12が一つの単位として使われている。1日は24時間だし1時間は60分だ。時間に関するものは12の倍数が使われていることが多い。ここは許そう。12は約数も多い。使いやすい場面はあるかもしれない。

ただ、1ヤードは3フィート。いらないだろ。いきなり単位の切り替えが細かくないか。なぜここでちょっと刻む。そして1マイルは1,760ヤード。訳がわからない。どこからこの数字を導き出したのか。約数なのか。計算してみよう。2*2*2*2*2*2*5*11=1,760。うん、なんのうまみもない。つまりは1マイルは5,280フィート。狂っている。

まるでハリポタに出てくるお金の単位だ。そう、J・K・ローリングによるイギリスの小説であるあのハリー・ポッターシリーズのことである。気になった方もいるかもしれないが、そこで出てくるお金の単位がなんか紛らわしい。

物語で硬貨は3種類、金貨・銀貨・銅貨が登場する。また、それぞれ金貨には「ガリオン」、銀貨には「シックル」、銅貨には「クヌート」と名付けられている。それしてそれらの単位は第1巻の「賢者の石」によると以下のようにまとめられる。

  • 1ガリオン = 17シックル = 493クヌート

  • 1シックル = 29クヌート

ここまでくると、まるでヤード・ポンド法じゃないか!ってつっこみたくなる。まあこれは魔法界のお話なので、著者はわざと雰囲気を出すためにこのようにしているのだろう。

話を戻そう。じゃあこんな長さの単位を使っていて何が厄介なのかと言えば計算だ。足し算や引き算はまだいい。何進法だって繰り上がりの数を変更すればいいだけだ。11時の2時間後は13時、すなわち1時なのは12進法での足し算の結果だ。慣れればすぐに対応できる。

しかし難解なのが掛け算や割り算である。時間に関しては時間と時間をかけることはほとんどないため、問題になることは少ない。ハリポタのお金だってそうだ。しかし、長さに関して言えば面積を求めるときに掛け算をする。もちろん逆に面積から長さを求めるのに割り算だってする。そうなると1平方フィートは144平方インチであることを念頭におかなければならない。そして体積になったらさらに困難だ。1立法フィートは1,728立法インチなのだ。やってられない。実際に隣で働いているアメリカ人に1立法フィートは何立法インチか聞いてみたら、予想通り知らないと言っていた。

そもそもこの疑問とイライラの始まりは見積りの仕事をしたときに気づいた。見積りのために必要な材料の面積を把握する。よくあることだろう。しかし、その計算が非常にめんどくさい。例えば「1フィート3インチ × 2フィート7インチはいくら平方フィートですか」…はい、すぐに計算できない。しかしまあアメリカ人はこの計算に慣れているんだから多分いいテクニックがあるのだろうと考えるかもしれない。

一応上司に確認してみた。フィート+インチの掛け算ってどうしてます?すると上司はおもむろに机から普通の電卓を取り出し、掛け算をするそれぞれの項のフィートやインチで表されている数字をどちらもフィートに換算し、その後掛け算をしていた。やれやれこんなこともできないのかって顔をするんじゃねえ。そのやり方は考えればわかる。ただ、めんどくさいだろって言いたいだけだ。

このプロジェクトはそんな疑問から始まった。簡単にフィートやインチなどの単位を含んだ値であっても計算が簡単にできれば便利だ。私たちだけではなくアメリカ人にだって役に立つはずだ。じゃあそんな電卓を作ればいいじゃないか。

現代でそのような電卓を作ろうとした時にはやはりスマホのアプリが便利だろう。アプリは個人だって作れると聞いたことがある。それなら自分にだって可能なはずだ。仕事の片手間でできるだろうか。それを自分のスマホに簡単にダウンロードできるようになれば良いし、他の同僚も使えるようになれば最高だ。

この話をするときに、まあプログラミングがめちゃくちゃできる人ならそんなこと簡単なのでは?と思うだろう。なので私がそうでないことを示すために少し自己紹介しておこう。私は理系ではあるが、プログラミングなどちゃんと勉強したことはなかった。完全に初心者であると言える。専門は建築や建設であり、何なら今やそのようなコンピューターサイエンスとは遠く離れたアナログな分野だ。ただ、自慢じゃないがアイビーリーグを卒業している。その関連の記事は以下のリンクから読むことができる。こちらも興味があればぜひ読んで欲しい。

したがってこれからの有料部分や次回以降では、どのように筆者が自分の疑問やイライラを解消するためにアプリを制作していったかを記載していくことにする。わからないことだらけの試練をどのように超えていったのかを楽しんでほしい。

そしてこのプロジェクトの大目標がある。それは、あわよくば「私もアプリを作りたい」なんて思って欲しいということだ。実際にプログラミングを勉強し、アプリを作成して思ったことはめちゃくちゃ楽しいということだ。しかしながらめんどくさいことも多く、それが単に個人によるアプリ作成の障壁になっているのではないかということだ。この「フィートとインチの計算にイライラして電卓アプリを作ってしまう話」シリーズがその障壁をいくらか下げられたら幸いである。


ここから先は

11,626字
この記事のみ ¥ 300

この記事が気に入ったらサポートをしてみませんか?