表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
2/8

0.2 (異世界で)初めてのプログラミング

「プログラム……?」


 エルがきょとんとした目でこちらを見た。


「ああ、いや。前に似たようなモノを見たことがあって……」


 どうやって説明しようか考えていると、前方に建物がぽつりぽつりと見えてきた。丁度いいので、話題を切り替える。


「……あれが、エルの言っていた街か?」

「ええ。あれがコースラよ」


 それから、コースラという街についての話をエルから聞きながら、俺たちは門をくぐった。


 この街は、大きな学園が二つ……騎士学園と魔法学園があり、それを中心に衣食住の環境が整えられている、典型的な学園都市だ。

 石とレンガ造りの建物がずらりと並んでいて、ヨーロッパのどこかで見たような風景をしていた。ただし電灯などは無く、電気が使われていそうな気配もない。ファンタジー世界といえば中世ヨーロッパ、という風潮を何となく思い出した。もしかしたら技術力の関係ではなく、魔法があるからその他の技術があまり進んでいないだけなのかもしれない。

 そんな風に街のあらゆる建物を眺めながら、エルに連れられるまま歩いていると、図書館に着いた。


「図書館……?」

「昼間で学生もみんな勉強中だし、今の時間、誰もいないのよね。だから、ここでなら存分に話ができるでしょう?」


 なるほど。それなら自分の話やエルについての話を聞くことができる。魔法の話で流れてしまっていたが、元々そういう話をする予定だったのだ。

 ……そういう予定だったのだが、結局、魔法の話をしていた。


 図書館には普通の本のほか、魔道書と呼ばれる本が置いてある。世の魔法使いは、その魔道書に書かれてある魔法を魔石に刻み、その魔石を使って活動している。

 魔法は多数の種類がある。使う人の属性による得意・不得意や魔力の量により、使える魔法や使えない魔法があるらしい。日常で使える便利な魔法なら、ほとんど誰でも使える。しかし、先ほどのファイアボールのような威力のある魔法は、使える人が少ない……らしい。効果的な魔法を数多く使うことができて、その呪文を全て覚え、使い分ける必要があるので、魔法使いになるのは難しいという。


「だから、あなたには魔法の才能があるのよ! それに、魔法の仕組みに興味があるなんて……ほとんどの人は魔法に興味が無いっていうのに!

 あなた、私と一緒に魔法使いにならないかしら!?」


 エルは興奮して俺の肩に手を乗せながら、そう言った。


「と、とりあえず……他の魔法を見てみてもいいか? 他の魔法を使えるとも限らないし……」

「そうね。色んな魔法を見てみましょうか。でもファイアボールくらい使えたら、初級魔法なら大体使えるわよ」


 エルは話しながら席を立ち、棚からいくつか辞書のような厚さの本を取り出していた。

 机の上にポンと置くと、カバンから先ほど見た魔石を取り出して、こう言った。


「じゃあ、まずは魔石に魔法を刻んでみましょう」


 机の上にある本には、『初級魔道書』と書かれていた。


 さっそく、魔道書の最初の一ページにある、チュートリアル用と紹介されている魔法に目を通した。


 public class HelloWorld {


   public static void main(String[] args) {

     System.out.println("Hello World!");

   }


 }


 魔法の説明には、『魔力なしで"Hello World!"という文字を出す魔法』と書かれていた。やっぱりプログラムのコードだ。Javaという言語で書かれている。(ここでいう言語というのは、日本語とか英語とかという言語ではなく、プログラムを表記する種類という意味での言語だ)

 その中でもこのプログラムは、どの言語でもよく一番最初に書かされるものだ。Java入門書でもこれがそのまま一番最初に出てくるだろう。

 これをそのまま一文字も変えずにコピペしてメモ帳に貼り付けて、「HelloWorld.java」というファイルで保存すれば、前の世界でも使える。


 魔石に魔法を刻むときは、ファイアボールのコードを見たときのように、魔石に力をこめて文章のウィンドウみたいなものを開けばよかった。……とはいえ、まだ魔石に何も刻まれていないので、空の枠が目の前に表示された。


「……文字は、どうやって刻めばいいんだ?」


 当然この世界にはキーボードなんてものは無い。それに代わる何か魔道具があると考えた。


「文字を念じれば刻めるから」


 この世界は便利だ……念じるだけで、文字の入力を全部やってくれるなんて……。しかも、ある程度まとまって入力できる。

 そのおかげで、HelloWorldの魔法を刻むのは、数秒で終わった。


「バッチリね。さっそく使ってみましょう」


 エルはウィンドウのコードをざっと読んで、そう言った。


「保存して閉じるには、どうすればいいんだ?」

「保存して閉じる……? ああ、画面を閉じたいなら、魔力を込めるのをやめればいいわよ」


 魔石に魔力を込めるのをやめると、そのまま画面が閉じた。もう一回魔力を込めると、また文章の画面が現れて、先ほど書いた内容がそのまま写っている。保存は勝手にやってくれるのだろうな。

 画面を閉じ、魔石を持ちながら早速、「ハローワールド!」と唱えてみる。……しかし、何も起こらなかった。


「魔法を使うなら、杖を持っていなきゃダメよ。ほら、持って」


 そうだった。ファイアボールの時も、杖を持って唱えて、杖の先から火の玉が出ていたんだった。

 杖を持ち、改めて「ハローワールド!」と唱える。すると、今度は問題なく発動した。……魔石に魔力を込めたときと似たようなウィンドウが、目の前に表示された。そこには、


 [Hello World!]


 と表示されていた。

 Hello, 魔法の世界!



 しかし、この世界の魔法を動かすのは、とても楽だ。


 元の世界でJavaプログラムを動かす為には、色々と面倒なことをしなければならなかった。

 例えば先ほどのHelloWorld.javaを、Windows PCのCドライブ直下の「workspace」フォルダ内に保存して、そこから実行したいとする。

 そのためには、まずJavaを動かす環境を整える必要がある。JREをダウンロードし、PATH(環境変数)を通すのだ。

 その後で、コマンドプロンプトを開き、


   cd C:\workspace


 と入力してファイルのある場所に移動して、


   javac HelloWorld.java


 と入力し、コンパイルしなければならない。

 コンパイルというのは、javaファイルをclassファイルに変換する作業だ。javaファイルのままだと、機械は動かしてくれないのだ。この例だと、HelloWorld.javaというファイルを元に、HelloWorld.classを作成している。

 その後、改めて


   java HelloWorld


 と入力すれば、やっとコマンドプロンプトに『Hello World!』と表示されるだけのプログラムが動く。



 だが、この世界ではプログラムを魔石に刻んだら、あとは杖を持って『HelloWorld』と唱えるだけでいいらしい。コンパイルは不要なのか、魔石が勝手にやってくれるのだろう。JREは……きっとこの杖の先端の魔石がJRE代わりなのだろうな。



 ……と、色々な考え事をしていると、エルが『Hello World!』を見ながら、こんなことを呟いた。


「この魔法、チュートリアルには最適だけど、よく分からない文章が出るだけで意味が無いのよね……」


 ひょっとして、エルは英語(によく似た異世界語)が読めないのだろうか……?

※作中のコードですが、このサイトの仕様上、インデント(文字下げ)に全角スペースを使っています。半角スペースに書き換えてコピペしてください。(多くのテキストエディタやIDEで、編集→置換、から全角スペース「 」を半角スペース「 」に置き換えすると楽です)


 作中の『Javaを動かす環境を整える』の方法の詳細は、こちらを参照してください。(私が書いた記事ではないですが……)

   https://qiita.com/ko2a/items/69fa8a5366d7449500ca

 記事タイトルにJDKとありますが、JDKはJREを含むJava開発キットみたいなものです。その辺の詳しい解説をすると長くなるので、そういうものなんだと飲み込むかググってください。

 JDKをインストールしてPATHを通したら、あとは物語中の手順に沿ってコマンドを打ってやれば、現実でもHelloWorldはちゃんと動いてくれるはずです。



 ちなみにこの世界では少し性能と都合の良いメモ帳を使う感じで進みますが、現実ではEclipseやIntelliJ、VS CodeなどのIDE(統合開発環境というツール)を使ったほうがいいです。


 Java入門を見るような方ならEclipseがオススメです。入手はこちらから。

   http://mergedoc.osdn.jp/

 JavaのFull Editionを選べばJREのインストール等も不要なので手軽です。昔からJava開発でよく使われているツールなので使用率も高く、困ったことがあったらググれば情報がたくさん出てきます。


 ただし後発のツールの方が基本的に性能が良いので、他のプログラミング言語を学んだことがあったり、ツールの拡張設定・カスタマイズに強い方はEclipse以外がいいかもしれません。

 興味があればググってみてください。


 7/29 コマンドプロンプトについて追記。

 Windowsキー(キーボード左下の『田』みたいなのが書かれたキー)を押し、cmdと打つと、コマンドプロンプトが開きます。

 Javaのコマンドの使い方の詳細は、「java コマンドプロンプト」あたりでググれば参考になる記事が出てくるので、そちらを参照してください。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ