三浦のJava魔法考察(Java編)
三浦の思考描写のため一人称。
この世界の魔法はJavaだ。
なぜJavaが魔法、いや、魔法がJavaなのか。
別にC言語などの他の言語でも良い気もするのだが。
いや、やはりJavaか。
恐らく、この世界には色々な種族がおり、それらは魔法を使用できるだろう。
コンパイルされた魔法を道具に埋め込んだ魔道具も存在していた。
魔道具を起動するには魔法を使う能力が必要だ。
これは俺が実際に使ったのだから間違いないだろう。
逆に言えば魔法を使う能力があれば誰でも使うことができるはずだ。
恐らくドワーフとかエルフのような異種族でも使うことができるはずだ。
この種族というのがLinuxやWindowsやiOSのようなOSと考えてみよう。
全ての種族(OS)で道具が使えるということを実現するためには、コンパイルされた中間魔法も全ての種族(OS)で共通に使える必要がある。
魔法がC言語だった場合、環境依存が発生するため各種族(OS)ごとにコンパイルし直す必要がある。
しかしJavaであれば種族(OS)が異なっていても同じコンパイル済み魔法を使用できるのだ。
『ミリアたんの魔法入門』には書いてなかったが、魔法一覧の中の魔法を他人に渡すということもできるのだろう。
この場合も中間魔法の形であれば、中身は教えず、変えさせずに魔法を渡すことができるというメリットがある。
多環境同一言語はJavaの利点であり、生命線でもある。
なにせこの生命線を守るためには文字通り命を懸けるのがJavaだ。
かつて、Windows全盛期だった頃のマイクロソフトが、Windowsでしか動かないJavaを作ったことがある。
そうしたらJavaはマイクロソフトに訴訟戦争を仕掛けた。
最近ではGoogleがAndroidでしか動かないJavaを作った。
そうしたらJavaはGoogleに訴訟戦争を仕掛けた。
全盛期のマイクロソフトと今のGoogle相手だぞ?
正気の沙汰じゃない。
多環境同一言語という意味ではRubyやPythonのようなスクリプト言語でも良い気がするが、恐らく実行リソースの問題だろう。
なにせ魔法は脳を使って起動する。
スクリプト言語では処理速度が得られず、リソースも多めに食うし、非コンパイルスクリプトコードは魔道具…………たとえば指輪に埋め込むには冗長だろうし、コードが見えてしまうというのも問題がある。
そのへんは暗号化zipで圧縮するといった手もないわけではないだろうが、今度は解除キーワードが必要になってしまう。
そうすると、ある程度秘匿性を持っておりかつ多種族でも共通で使える魔法体系を作ろうとしたらJavaは悪くない選択だ。
なんにせよ、Java、しかもJava8だったのはありがたいことだ。
ところでEclipse欲しいなぁ。




