いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

インタプリタを作る(7)雑談

 中高生の夏休みは終わりですが、勉強は進んだでしょうか……。学生はみんなかわいそうだけれど一番は特に受験生です……。コロナは自然界のことだから仕方ないとしても、受験の制度など、勉強とは関係のない部分で人災に遭ったようなものです。 

www.omoshiro-suugaku.com

せっかくの夏休みも短くなり、さんざんでした。しかし、泣いていても始まりません。楽しく頑張って欲しいです。勉強は面白いものです。

 インタプリタを作成中、と何度か書きました。 

www.omoshiro-suugaku.com 

インタプリタとは……。コンピュータは何でもやってくれる魔法の箱ではありません。あれをやって、これをこうして……と曖昧な部分のない表現で動作の指示をする必要があります。その指示を書き並べた指示書(プログラム)をコンピュータに分かる命令の並びに翻訳しなければなりません。その翻訳のシステムは大きく分けて2通り。インタプリタコンパイラがあります。あまり厳格に分けられるものでもないと思いますが、インタプリタはプログラムを翻訳しながら命令を実行させます。これに対しコンパイラは一気に翻訳します。インタプリタコンパイラも一種のソフトウェア、つまりプログラムです。人間が作ります。多分インタプリタ作成の方がハードルは低いです。それでも何の準備もなし、手ぶらでは作れないと思います。

 のんびり作っていましたがようやくif文、for文、while文、関数の機能も持たせるところまで行きました。山は超えたのでホッとしています。でも同時に「ああ、もうすぐ終わりだ……」と寂しい気も……。まだバグがあるので直してコードを見やすく整理したら何かの形で公開します。インタプリタは3回目、今回はPythonで書いているので高速にはなりません。でもPythonならユーザも多いですし、意義は十分あるでしょう。大きなインタプリタはすぐには書けるようにはならないでしょうが、それでもこうして小さな、実験室レベルの作業を通して初めて分かることはたくさんありますし、1本書けば自分の言葉でインタプリタコンパイラの話をすることができるようになります。ああやったけれどうまくいかなかった、この本に書いてあるこの方法は素晴らしい、方向を誤って1週間無駄にした、……こういったことの繰り返しで知識が頭に染みこむのですね。この分野だけではない、大事な勉強法だと思います。

 ぼくの夏休みもここまでですが、一応まあまあ。暑い中、じっくり取り組めました。余裕ができてずいぶん勉強できたので、2学期に生かしたいと思います。……と言うか、これが当たり前なのではないでしょうか。8月に学校へ行ったら部活の若い先生が道具を抱えて校庭に出るところ。「大変ですね」と挨拶したら楽しそうに「ハイ!」と返事をくれましたが、この調子では勉強などできないでしょう。平日は夜まで部活、土日も部活、夏休みも部活。生徒も教員も、自分が納得した選択なら構いませんが、勉強の時間は取れません。管理職は「よい授業を!」とか言うけれど、言うだけではどうにもなりません。