見出し画像

魔法使いになりたくて、プログラマーになった。

起業するとよく人から聞かれる質問は、「起業される前は何を?」です。

経歴詐称は罪に問われるので、私はこの質問にはきちんと「漫画家を目指していました。」と嘘偽りなく答えます。
履歴書には書けないかもしれませんが、一応少年ジャンプで賞を取ったこともありますし、Wikipediaにも名前が載っていることもあって、疑われたことはありません。

この質問についても、私は嘘はつきませんが、相手と状況によって返答を変えるようにしています。

「いやぁ、作品が鳴かず飛ばすで・・・」と自虐することもあれば、「作品を創る中で心理学を学ぶうちに、心理学に基づいた学習システムを開発したくなって・・・」と現在の事業の話に持っていくこともあります。

どれもすべて嘘ではありません。
しかし、いつも私が他人に話す「起業物語」には、どこか「ごまかし」があるような気がして、「罪悪感」を覚えてもいました。
なぜなら、私には簡単に他人には明かさない「起業理由」があったからです。

それは、「魔法使いになりたくてプログラマーになり、大魔法を開発したくて起業した。」という少々イタいものです。

私がこの話を他人にしないのには、2つの理由があります。

その1つは、この話は長くなるうえに、聞いた相手に私の頭がおかしいと思われてしまうからです。
「なぜ起業したのか?」という質問をした相手が期待している返答の長さは、せいぜい30秒でしょう。
この話は、30秒でまとめるにはあまりに難しく、無理やり30秒にまとめたとしても、相手にさらに狂気的な印象を与えてしまうだけなのです。

もう一つの理由は、この話をすることが、私にとって恥ずかしい経験だからです。
隠れオタク歴が長い方なら理解できるかもしれません。
私は学生の頃から、作家としての人格と社会用の人格を分けて過ごしてきたせいで、ビジネスパーソンという社会用の人格で作家としての自分を語るとき、認知的不協和からかなり恥ずかしさを覚えます。
ビジネスパーソンとしての私は、いまだに私が架空の女の子のセリフを真剣に考えていたという現実を受け入れられていないのです。

こうした理由から、普段であれば、この話はしないようにしているのですが、今回ばかりは、少しだけ話してみたいと思います。

それは、私自身の罪悪感の解消のためです。
この話を、これからも対面で伝えるのは難しいとしても、文面で公開しておくことで、私はこの話を「隠しているのではなく」、「あえて話さないだけ」にすることができます。
つまり、相手との情報の対称性を最低限担保することで、私はいくばかりかの「誠実さ」を取り戻し、罪悪感を和らげることができるのです。

まぁ、狂人の戯言だと思って、話半分に聞いていただければ幸いです。

ファンタジー作家がテクノロジーに興味を持ったきっかけ

私は昔から、魔法だとか超能力だとか、そういうファンタジーが大好きでした。
中学時代にニコニコ動画に連載していた作品もファンタジーですし、高校時代に少年ジャンプで賞をとった作品もファンタジーです。

そんなファンタジー作家が、真逆ともいえるテクノロジー業界にいるのは不思議に思えるかも知れません。
私がテクノロジーに興味を持ったのは、自身のファンタジー作品を執筆していたときに、「魔法の仕組み」を考案していたときでした。

当時、神仏習合やキリスト教と土着宗教(ケルト神話など)の習合といった「シンクレティシズム」に魅了されていた私は、世界中の神話を習合したファンタジーとして「世界樹」という作品を企画していました。

その中で、「魔法」を合理化する仕組みを考えあぐねていたとき、私が出会った概念が「コンパイル」だったのです。

「コンパイル」とは、「プログラミング言語で書かれたプログラムを、コンピューターが理解できる機械語に翻訳する」ことです。
多くの人が誤解していることですが、コンピューターは、プログラミング言語によって書かれたプログラムによって動くわけではありません。
実はコンピューターは、「0」と「1」しか理解できないので、コンピューターを動かすには、0と1だけで構成された言語「機械語」でプログラムを書かないといけないのです。
しかし、普通の人間には「0」と「1」だけで複雑なプログラムを書くのは難しすぎて大変です。私にだって無理です。
そのため、人間がプログラムを書くためには、「機械語」を人間にもわかりやすい形に直した言語が必要でした。
それがC言語やJavaScriptといった「プログラミング言語」です。
そのため、コンピューターにプログラムを実行してもらう場合は、プラグラミング言語で書かれたプログラムを、機械語で書かれたプログラムに翻訳する作業が必要になります。
その翻訳作業が「コンパイル」であり、コンパイルを行うプログラムを「コンパイラ」と呼びます。

この「コンパイラ」を知ったとき、私は閃きました。
古代ユダヤ教にもあったのです。「コンパイラ」が。

「ファンタジー」を突き詰めると、結局たどり着くのは「宗教」です。
そして「魔法」を突き詰めると、「祈り」にたどり着きます。

語弊を恐れずにいえば、「魔法」も「祈り」も、ある結果を求めて世界や神に対して行う命令であって、そこにはPleaseをつけるか否かの差異しかありません。

そして「祈り」において、「言語」はとても重要な意味を持ちます。
かつてローマ・カトリックではラテン語でしか祈れませんでしたし、イスラム教では今なおアラビア語でしか祈ることができません。
日本でも親しまれる真言宗の真言(マントラ)や般若心経などは、日本語ではなく、サンスクリッド語です。

コンピューターが機械語のプログラムしか読んでくれないのと同じように、神が特定の言語でしか「祈り」を聞き入れないというのはよくあることで、古代ユダヤ教ではその言語が「ヘブライ語」でした。
しかしユダヤ人たちの面白いところは、彼らが「例外」を開発したことです。

彼らは病人に限っては、当時のリンガフランカである「アラム語」で祈ることを許しました。
なぜなら、病人の頭には天使のような光輪が宿り、その光輪がアラム語の祈りをヘブライ語に翻訳してくれるからなのだそうです。

私が「コンパイラ」を知ったときに思い出したのが、この「光輪」でした。
「魔法の合理化に使える」と、そう思ったのです。

私は、世界を「世界樹」という名の一つのコンピューターに見立てて、魔術師を「プログラマー」に見立てました。
コンピューターが「0」と「1」の二値論理で構成された「機械語」しか理解できないように、世界樹もまた「陰」と「陽」の二値論理で構成された『世界樹語』しか理解できません。
しかし、世界樹語はいわば「神の言語」なので、一般的な魔術師では世界樹語で世界に命令して『魔法』を発動させるのは極めて困難です。
そこで魔術師たちは、世界樹語を人間にも理解できる形式にした言語を開発しました。
それがプログラミング言語ならぬ、『儀式言語』です。
儀式言語は、世界中の宗教の儀式と同じように、呪文だけでなく、舞踊や印契といった様々な形態を持ちます。
そうした儀式言語を用いて、魔術師が組んだ世界への命令が『魔術(プログラム)』です。
そして魔術は、『コンパイラ』などによって世界樹語に翻訳されることで、世界樹に読み込まれ、世界樹は魔術の内容に従って、『魔法』という超自然的現象を引き起こします。
コンパイラは、たとえば『魔法の杖』などに実装されています。

これなら魔法の存在を合理化できます!
ずっと考えあぐねていた魔法の仕組みが決まって、私は喜びました!

それが私のファンタジー作家生命を終わらせるとも知らずに・・・・。

高度に発達した科学技術は、魔法と見分けがつかない。

世界樹における魔法の合理化をきっかけに、私はコンピューターサイエンスに興味を持ち、学び始めました。

そのうちに気づいたのが、コンピューターの世界では、魔法的な(言い換えれば神話的・宗教的な)モチーフが多く用いられていることでした。

Unix系OSのバックグラウンドプロセスを、ギリシャ神話の守護神に見立てて「デーモン」と名付けたり、短距離無線の規格を北欧の伝説的な王の異名からとって「Bluetooth」と呼んでロゴにルーン文字を使ったり、インターネット上の仮想の自分を示す表現を、ヒンドゥー教や仏教の神々が現世に顕現する姿「アヴァターラ(化身)」からとって「アバター」と名付けたり、しまいには優れたプログラマーのことを「ウィザード(魔術師)」と呼んだりします。

おなじみの「アバター」という表現や、昨今バズワードとなった「メタバース」といった表現は、「スノウ・クラッシュ」というSF小説がもとになっています。
そして読んでいただくとわかるように、その内容には聖書や古代オリエント神話がふんだんに使われていたりするのです。

ちなみに私の最も好きな技術系エッセイは、ウェールズ神話をもとにした「魔法のおなべ」です。

SF作家アーサー・C・クラークは、「高度に発達した科学は、魔法と区別がつかない」という有名な言葉を残しました。
しかし、コンピューターサイエンスについていえば、むしろ「科学は魔法に近づくべく発達している」ように、私には思えたのです。

私にこの着想を決定的に抱かせたのは、坂村健先生の「ユビキタスとは何か―情報・技術・人間」という書籍を読み、ユビキタス・コンピューティングという概念を知ったことがきっかけでした。
ユビキタス・コンピューティングとは、社会や生活の至る所にコンピュータが組み込まれることで、あらゆるものがコンピューター化した環境のことです。
今バズワードになっている「IoT(Internet of Things / モノのインターネット)」も、ユビキタス・コンピューティングから発した概念です。

「ユビキタス」とは「神は偏在する」という意味のラテン語です。
私はこの「ユビキタス・コンピューティング」という概念に、コンピューターを「神」に見立て、「神への祈り(命令)」すなわち「魔術」を現実化しようとする科学者たちの指向を見たのでした。

この概念に感動した私は、一時期、上述の「ユビキタスとは何か」を書かれた坂村健先生の主催するBTRON Clubに参加していました。
坂村健先生は、元東京大学大学院情報学環・学際情報学府教授で、現在は東洋大学情報連携学部の学部長を務められている方で、「ユビキタス・コンピューティング」や「IoT」の第一人者です。
また先生は、「TRONプロジェクト」の創始者としても知られています。

TRONと聞くと、Windowsに破れて普及には至らなかったPC向けOS「BTRON」を思い出す方が多いと思いますが、実はTRONプロジェクトのうち組み込み機器向けOSである「ITRON」は、Nintendo Switchや衛星やロケットに使われたりで好調だったりします。
それも組み込み機器向けのOSとしては、24年連続で世界トップシェアだというのですから、弛まず続けていくことの大事さが伝わりますよね。

高齢でありながら今も世界中を飛び回っている方なので、BTRON Clubでの坂村先生のお話は本当に面白かったです。
ぜひもっと長生きしてチューリング賞などとっていただきたい…!!
ちなみに世界樹の「付喪神(MoT)」は、このBTRON Clubで学んだ経験が元になっていたりします。

『世界樹』と『計算機自然』

独学やBTRON Clubでコンピューターサイエンスについて学ぶにつれて、私は「まるで魔法のようだ」と感じました。
そして、いつの間にか、私はこの『魔法のような世界』にすっかり魅了されて、プログラミングを学び始めていました。
フィクションで「魔法使い」を描くだけでなく、現実で私自身も「魔法使い」になってみたかったのです。

これが、私がプログラマーになったきっかけです。

馬鹿げていると思われるでしょう。
「ファンタジー作品の創作中に、魔法とコンピューターサイエンスの共通点に魅せられ、フィクションだけでなく現実で『魔法』を描きたくて、プログラミングを学び始めた。」というのは、客観的にみて正気を疑うような物語です。
だから基本的に、私は人前でこの話はしないようにしています。
ビジネス上、正気を疑われて、私が得られるものなど何もないからです。

しかし、私にとって密かに励みになっているのは、このような狂気に侵されているのは、私だけではないということです。

筑波大学の准教授である落合陽一先生は、その有名な著作「魔法の世紀」「デジタルネイチャー 生態系を為す汎神化した計算機による侘と寂」の中で、今世紀を「魔法の世紀」であると指摘し、「魔術化する人間社会」を理路整然と論じています。

私たちは、生肉を火で調理してから食べます。
私たちがそうする理由は、かつて信じられていた「火神が肉の穢れを浄化してくれる」といった迷信によってではなく、「肉の細菌を火で高温殺菌できる」という科学知識によってです。
社会学者マックス・ウェーバーは、このような科学による社会の移り変わりを、「社会の脱魔術化」と表現しました。
しかし、現代における科学は、かつてより高度に複雑化しており、私たちはもはやその原理を理解せぬまま、科学的な恩恵を享受しています。
コンピューターやインターネットの利用者の大半は、その内部の仕組みや原理を知らずに使っています
プログラマーではないほとんどの人々にとって、JavaScriptで書かれたソースコードは、サンスクリッド語で書かれた真言(マントラ)と同じ「ミステリアスな呪文」にしか見えません。
このような現象を、アメリカの社会批評家モリス・バートンは、「社会の再魔術化」と表現しました。

落合先生は、ユビキタス・コンピューティングを初めとするコンピューターサイエンスの発展およびその社会実装により、今世紀はこの「社会の再魔術化」が本格的に進んでいく「魔法の世紀」になると指摘しています。
落合先生は、「魔法」の最大の特徴を「原理を意識させない無意識性」にあるとし、ユビキタス・コンピューティングによって、コンピューターもまた魔法と同じような「無意識性」を獲得するとしています。
そしてコンピューターが無意識性を獲得した「魔法の世紀」の果てにある世界では、コンピューターはもはや「自然」と同じように見なされ、今現在の私たちが抱きがちな「自然」対「機械」であるとか、「人間」対「AI」であるといった二項対立は融けあって消失します。
それが「デジタルネイチャー(計算機自然)」です。
言い換えれば、デジタルネイチャーとは、ユビキタス・コンピューティングによって、従来の「自然」対「機械」という二項対立を弁証法的に止揚して生まれた「新たな自然」です。

この「魔法の世紀」の最終到達点では、「コンピューター科学という統一言語で、知能・物質・空間・時間を含む、この世界のありとあらゆる存在と現象が記述され、互いに感応し合う」と言います。
つまり、デジタルネイチャーにおいては、世界をソースコード(プログラミング言語で書かれたプログラム)で記述し、操ることができるのです。

これを読んだときの私の高揚が、あなたに想像できるでしょうか?

この「魔法の世紀」の到達点、すなわち「デジタルネイチャー(計算機自然)」は、私がまさに「世界樹」で描いた世界でした。

世界樹では、古代インド神話から「天則(リタ)」という概念を借用し、天則を世界樹を支配する単一法則であり、古典力学と量子力学と魔法力学(コンピューター科学の寓意)をつなぐ統一理論として定義しています。
そして魔術師は、この天則に基づいた儀式言語によるソースコードで世界を記述し、世界樹に命令することができます。
そして、その「世界樹に対する命令(魔術)」という入力に対する世界樹の出力結果を、「魔法」と定義しています。
言い換えれば、魔術師は、(儀式言語による)ソースコードによって、世界を操ることができるのです。

この世界樹の世界観は、いわば「マジカルネイチャー」です。
そして世界樹における「マジカル」とは、まさに「デジタル」の寓意です。
「デジタル(離散量)」が「0」と「1」による二値論理であるように、世界樹における「マジカル(魔法量)」もまた、古代中国の「陰陽思想」を借用して、「陰」と「陽」の二値論理で構成されています。
また、世界樹はそれ自体が、コンピューター(電子計算機)の寓意であり、さらに世界樹は世界そのものでもあることで、ユビキタス(汎神的)に存在します。
これによって『世界樹』はまさに、『計算機自然(デジタルネイチャー)』の寓意になるのです。

このことに気づいたときの私の高揚を、あなたは想像できるでしょうか?

私は「ファンタジー」を描いていると思っていたのに、実のところ「SF」を描いていたのです。
「虚構(フィクション)」ではなく、「未来」を描いていたのです。

もしもあなたが私と同じ狂気の持ち主、すなわち「重篤な中二病患者」ならば、これを読んで今すぐプログラミングを学びたくなったことでしょう。
その高揚感こそが、私がプログラマーになった理由であり、そして起業した理由なのです。

私がプログラマーになったのは、「魔法使い」になりたかったからであり、私が起業したのは、世界文明に貢献する「大魔法」を開発して、世界中に使って欲しかったからです。

かつて、「魔法」すなわち「神への祈り」は、人々の希望でした。
たとえ宗教が迷信に過ぎなかったとしても、その祈りに込められた「こうあってほしい」という人々の切実な願いだけは、真性にして現実にして本物です。

テクノロジーの素晴らしい点は、その「祈り」を「願い」で終わらせずに、現実に変えていくことができるところです。
私たちは人類有史以来初めて、「祈り」を「現実」に変えることのできる素晴らしい時代に生きています。

少なくとも私たち「魔法使い」は、その「人々の祈り」の現実の担い手であります。
もしもあなたにその気があるのなら、ともに「魔法使い」となり、人々の願いを現実にする「大魔法」を開発しようではありませんか。

人々の「祈り」を「現実」に変えていくために。

私の開発した魔法

私は現在、「DiQt」という「絶対に忘れない辞書&単語帳サービス」を開発・運営しています。
このサービスは、私自身がプログラムを組んで、一からすべて開発した「魔法」です。
昔から憧れていた「魔法使い」に、ついに私はなることができたのです。

今の私は、このDiQtという魔法を、世界中に役立つ「大魔法」に育てることを目標にしています。

かつてファンタジー作家として学んだことは、今の事業にも生かされています。
たとえば、キャラクター造形のために学んだ心理学は、効率的な語彙習得や学習の習慣化を目指すDiQtのUI/UXデザインに活用されています。

多くの方に読んでいただいたnote「プラットフォームが初期ユーザーを集めるための8つの戦略と事例紹介」の中にも書いたように、
私がこの「辞書」というセグメントに辿り着いたのは、事業上の試行錯誤と戦略によるものでした。
しかし、振り返ってみると、この「辞書」は、作家時代の私が欲していたものでもあります。

というのも作家時代は、ラテン語や古ノルド語やアイヌ語やウェールズ語といった少数言語を調べるのにとても苦労していたからです。
こうした少数言語の多言語辞書は、出版社のビジネスモデルでは採算が合わないので実現が難しいかもしれませんが、Wikipediaのようなモデルであれば不可能ではありません。

今のところはまだ、DiQtは「英語を学ぶ日本人向けの辞書&単語帳サービス」でしかありません。
しかし、ゆくゆくは、私はDiQtを「あらゆる話者があらゆる言語を学べる辞書&単語帳サービス」にしたいと思っています。

そこには「世界中の人々の語学を助ける」というだけでなく、「少数言語の絶滅が急速に進んでいる現代で、世界中の少数言語を保存する」という極めて大きな社会的意義があるからです。

とはいえ、そうした大きな理想の実現は、着実な小さな一歩を積み重ねた先にしかありません。
私はまずはDiQtを、「英語を学ぶ日本人向けの辞書&単語帳サービス」という分野で、ユーザーに価値を感じていただける本物のサービスにします。

DiQtは、「英語学習者」が抱える「語彙を忘れてしまう」という課題を解決します。
あなたにも、「一度学んだはずの英単語や英熟語なのに、忘れてしまって、何回も調べてしまった経験」があるのではないでしょうか?
その手間と無駄を解決するのがDiQtです。

語彙の習得は、どのレベルの英語学習者にとっても重要なので、私はDiQtをあらゆる英語学習者に自信をもってオススメします。
実際にユーザー様から、DiQtのおかげでTOEICで高得点を取れたというご報告もいただいていますし、何よりも私自身が、その身でDiQtの価値を実感しています。

プログラマーは、英語に触れる機会がかなり多い職業です。
新しい技術やAPIやサービスなどの文書は、ほとんどが英語で、日本語の文書があるほうが稀です。
私は、DiQtを始める前は英語がとても苦手だったので、そうした英語の文書を読む際、いつもGoogle翻訳などの機械翻訳に頼っていました。
しかし、今は英語の文書を読む際にも、めったにGoogle翻訳を使わなくなりました。
これは明らかに、DiQtのおかげです。

DiQtは、Web版iOS版Android版Google Chrome拡張版があり、どんなデバイスからでもご利用いただけます。

英語の特に「単語・熟語を覚える」というところに課題を感じている英語学習者の方は、ぜひDiQtを使ってみてください。


Web版:


iOS版:

Android版:


Google Chrome拡張版:
クラスメソッド社のエンジニアさんが素敵な紹介記事を書いてくださいました。

ただ情報を入手するだけならサクッと機械翻訳をかましてしまえばいいのですが、英語学習のためと思って英語で読むこともあるでしょう。そのような時に意味が分からない英単語に出会い、意味を調べても翌日には忘れてるといったことありませんか? 私はあります。

【Chrome拡張】英単語の意味をすぐに調べられ、忘れないように復習設定もできる「BooQs Dictionary」を試してみた【英語学習】

そう、DiQtが解決するのは、まさにその「忘れる」という課題なのです。


この記事が参加している募集

自己紹介

あなたの貴重なお時間をいただき、ありがとうございました!